以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  写入数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192377)

--  作者:工匠
--  发布时间:2024/6/19 15:07:00
--  写入数据
老师好!

    请教一下,查找后写入数据,检查都有弹出对应弹窗,在被写入表看不到写入的值
Select Case e.DataCol.Name
    
    Case "盘点数量"
        e.DataRow("盘点日期") = now()
        DataTables("盘点记录").save()
        
        Dim pr7 As DataRow = DataTables("产品资料").SQLFind("物料编码=\'" & e.DataRow("物料编码")  & "\'")
        
        msgbox(1.1)
        If pr7 IsNot Nothing Then
            msgbox(1.2)
            pr7("盘点批次") = DataTables("盘点记录").SQLCompute("count(物料编码)","物料编码=\'" & e.DataRow("物料编码")  & "\'")
            msgbox(1.3)
            pr7("盘点数量") = e.DataRow("盘点数量")  \' Tables("盘点记录").Current("盘点数量")
            msgbox(1.4)
            pr7("盘点差异") = e.DataRow("盘点差异")  \'Tables("盘点记录").Current("盘点差异")
            msgbox(1.5)
            DataTables("产品资料").save()

        End If
    End If
End Select


                                            谢谢!

--  作者:有点蓝
--  发布时间:2024/6/19 15:45:00
--  
DataTables("产品资料").save()
改为
pr7.save()

SQLFind是直接查后台数据库的,返回的行是独立的,和已经加载的表没有什么关系,需要单独保存

--  作者:y2287958
--  发布时间:2024/6/20 8:11:00
--  
还不如直接用SQLSetValue,连保存都省了


--  作者:有点蓝
--  发布时间:2024/6/20 8:37:00
--  
1楼是给3个列赋值,那么SQLSetValue需要调用3次,连接3次数据库,效率反而低了