设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1249|回复: 4
打印 上一主题 下一主题

大佬帮忙转换下代码~

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2022-6-6 12:14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
If e.DataCol.Name = "客户" OrElse e.DataCol.Name = "商品名称" Then '如果内容发生变动的是品名列
    If e.DataRow.isnull("客户") OrElse e.DataRow.isnull("商品名称") Then '如果新值是空白,也就是品名列的内容为空
        e.DataRow("单价") = Nothing '那么清空此行单价列的内容
    Else
        Dim dr As DataRow
        '否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        dr = DataTables("客户").Find("[客户名称] = '" & e.DataRow("客户") & "'")
        If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
            Dim dr2 As DataRow = DataTables("商品").Find("[商品名称] = '" & e.DataRow("商品名称") & "'")
            If dr2 IsNot Nothing Then
                e.DataRow("单价") = dr2(dr("售价级别"))
            End If
        End If
    End If
End If

If e.DataCol.Name = "商品名称" Then
    If e.DataRow.isnull("商品名称") Then
        e.DataRow("单价") = Nothing
    Else
        Dim dr2 As DataRow = DataTables("商品").Find("[商品名称] = '" & e.DataRow("商品名称") & "'")
        If dr2 IsNot Nothing Then
            e.DataRow("规格") = dr2("规格")
        End If
    End If
End If


以上是我在别的软件的VB代码,能否帮忙转成ACCESS用的?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2022-6-6 13:41:34 | 只看该作者
1、Access没有DataTables控件,需要改成窗体,如果是子窗体,改成Me.子窗体名称。
2、既然没有DataTables控件,自然也没有对应的DataRow子集了。如果需要逐行搜索,需要改成DAO.Recordset,然后用FindFirst方法处理;如果不需要逐行查找,也可以改成SQL条件查询。
3、VBA也没有OrElse,改成Or;Nothing不太记得有没有了,如果没有,改成 IsNull(Me.控件名)。
4、建议先把Access窗体VBA翻一遍再回头看这个事情。别做伸手党。

点击这里给我发消息

3#
 楼主| 发表于 2022-6-6 13:46:34 | 只看该作者
roych 发表于 2022-6-6 13:41
1、Access没有DataTables控件,需要改成窗体,如果是子窗体,改成Me.子窗体名称。
2、既然没有DataTables ...

谢谢,刚刚接触,并不是想做伸手党,多谢你的建议!
4#
发表于 2023-11-17 10:43:18 来自手机 | 只看该作者
学习了
回复

使用道具 举报

5#
发表于 2024-1-26 09:34:15 | 只看该作者
新手还没找到门在哪,也不敢问,怕别人说是伸手党
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-26 18:26 , Processed in 0.095326 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表