以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  非关联表间数据同步中sqlfind问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=107342)

--  作者:SZCD111
--  发布时间:2017/9/26 12:19:00
--  非关联表间数据同步中sqlfind问题
请教!非关联表间数据同步,把下面的find 全部改成sqlfind之后,型号和单位列为空,怎么改?
Select Case e.DataCol.name
    Case "商品编号"
        Dim dr As DataRow =DataTables("库存表").find("商品编号 =\'" & e.oldvalue & "\'")
        If dr Is Nothing Then
            dr=DataTables("库存表").addnew()
            dr("商品编号")=e.DataRow("商品编号")
            dr("品类")=e.DataRow("品类")
            dr("品牌")=e.DataRow("品牌")
            dr("型号")=e.DataRow("型号")
            dr("单位")=e.DataRow("单位")
        Else
            dr("商品编号")=e.DataRow("商品编号")
        End If
    Case "品类","品牌","型号","单位"
        Dim dr As DataRow=DataTables("库存表").find("商品编号 =\'" & e.DataRow("商品编号") & "\'")
        If dr IsNot Nothing Then
            dr(e.DataCol.name)=e.DataRow(e.DataCol.name)
        End If
End Select

--  作者:有点甜
--  发布时间:2017/9/26 14:40:00
--  
Select Case e.DataCol.name
    Case "商品编号"
        Dim dr As DataRow =DataTables("库存表").find("商品编号 =\'" & e.oldvalue & "\'")
        If dr Is Nothing Then dr = DataTables("库存表").sqlfind("商品编号 =\'" & e.oldvalue & "\'")
        If dr Is Nothing Then
            dr=DataTables("库存表").addnew()
            dr("商品编号")=e.DataRow("商品编号")
            dr("品类")=e.DataRow("品类")
            dr("品牌")=e.DataRow("品牌")
            dr("型号")=e.DataRow("型号")
            dr("单位")=e.DataRow("单位")
        Else
            dr("商品编号")=e.DataRow("商品编号")
        End If
        dr.save
    Case "品类","品牌","型号","单位"
        Dim dr As DataRow=DataTables("库存表").find("商品编号 =\'" & e.DataRow("商品编号") & "\'")
        If dr Is Nothing Then dr=DataTables("库存表").sqlfind("商品编号 =\'" & e.DataRow("商品编号") & "\'")
        If dr IsNot Nothing Then
            dr(e.DataCol.name)=e.DataRow(e.DataCol.name)
            dr.save
        End If
End Select

--  作者:SZCD111
--  发布时间:2017/9/26 15:21:00
--  
为什么先find,然后再sqlfind?
--  作者:有点甜
--  发布时间:2017/9/26 16:11:00
--  
以下是引用SZCD111在2017/9/26 15:21:00的发言:
为什么先find,然后再sqlfind?

 

sqlFind是后台查找,你修改记录以后,数据保存在数据库,不会立马显示在你看到的表格(你要刷新数据才能看到)

 

如果能够find,说明数据已经加载到你电脑内存里面并显示,直接修改即可。


--  作者:SZCD111
--  发布时间:2017/9/26 17:37:00
--  
要怎么刷新呢?
--  作者:有点甜
--  发布时间:2017/9/26 18:29:00
--  
以下是引用SZCD111在2017/9/26 17:37:00的发言:
要怎么刷新呢?

 

http://www.foxtable.com/webhelp/scr/2327.htm