以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]为什么不执行?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=109573)

--  作者:minxizai
--  发布时间:2017/11/15 9:57:00
--  [求助]为什么不执行?
Select Case e.DataCol.name
    Case "挂"
        If e.NewValue = True Then
            Dim f As DataRow = DataTables("表A").sqlfind("商品名称 = \'" & e.DataRow("商品名称") & "\'")
            If f IsNot Nothing Then
MessageBox.show(1)
                f("数量") = f("数量") - e.DataRow("数量")
                f("金额") = f("金额") - e.DataRow("金额")
                DataTables("表A").save
                DataTables("表B").save
            End If
        End If
End Select
--  作者:minxizai
--  发布时间:2017/11/15 10:03:00
--  
附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:有点甜
--  发布时间:2017/11/15 10:06:00
--  
Select Case e.DataCol.name
    Case "挂"
        If e.NewValue = True Then
            Dim f As DataRow = DataTables("表A").find("商品名称 = \'" & e.DataRow("商品名称") & "\'")
            If f Is Nothing Then f = DataTables("表A").sqlfind("商品名称 = \'" & e.DataRow("商品名称") & "\'")
            If f IsNot Nothing Then
                MessageBox.show(1)
                f("数量") = f("数量") - e.DataRow("数量")
                f("金额") = f("金额") - e.DataRow("金额")
                f.save
            End If
        End If
End Select

--  作者:minxizai
--  发布时间:2017/11/15 10:20:00
--  
甜老师
不理解为什么要先用find,再用sqlfind?
sqlfind不是查找后台数据吗?后台数据不包括已经加载的?

--  作者:有点甜
--  发布时间:2017/11/15 10:33:00
--  
以下是引用minxizai在2017/11/15 10:20:00的发言:
甜老师
不理解为什么要先用find,再用sqlfind?
sqlfind不是查找后台数据吗?后台数据不包括已经加载的?

 

后台数据包括已经加载的。但是你sqlfind后,修改后,不会马上显示在你的表A,你要重新刷新表A的数据,才能看到更新。