以文本方式查看主题

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

--  作者:SZCD111
--  发布时间:2017/9/26 18:08:00
--  表间数据同步中sqlselect 问题
在品类型号表中修改产品型号后,希望销售明细中相应商品编号的产品型号也同时修改,代码中select改为sqlselect后不执行:
Select Case e.DataCol.name
    Case "型号" ,"品牌","品类","单位"
        Dim filter As String="[商品编号] =\'" & e.DataRow("商品编号") & "\'"
        Dim drxs As List(of DataRow)=DataTables("销售明细表").sqlSelect(filter)
        For Each drx As DataRow In drxs
            drx("型号")=e.DataRow("型号")
            drx("品类")=e.DataRow("品类")
            drx("品牌")=e.DataRow("品牌")
            drx("单位")=e.DataRow("单位")
        Next
End Select


--  作者:有点甜
--  发布时间:2017/9/26 18:21:00
--  
1、
 
Select Case e.DataCol.name
    Case "型号" ,"品牌","品类","单位"
        Dim filter As String="[商品编号] =\'" & e.DataRow("商品编号") & "\'"
        Dim drxs As List(of DataRow)=DataTables("销售明细表").sqlSelect(filter)
        For Each drx As DataRow In drxs
            drx("型号")=e.DataRow("型号")
            drx("品类")=e.DataRow("品类")
            drx("品牌")=e.DataRow("品牌")
            drx("单位")=e.DataRow("单位")
        Next
        DataTables("销售明细表").SQLUpdate(drxs)
End Select
 
2、修改,是后台修改的,你前台要显示,你需要刷新表格数据。

--  作者:SZCD111
--  发布时间:2017/9/27 9:26:00
--  
sqlupdate之后,需要重新打开项目才能看到改变?
--  作者:有点甜
--  发布时间:2017/9/27 10:11:00
--  
以下是引用SZCD111在2017/9/27 9:26:00的发言:
sqlupdate之后,需要重新打开项目才能看到改变?

 

方法一:重新load数据

 

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

 

方法二:你改成下面这个代码

 

Select Case e.DataCol.name
    Case "型号" ,"品牌","品类","单位"
        Dim filter As String="[商品编号] =\'" & e.DataRow("商品编号") & "\'"
        Dim drxs As List(of DataRow)=DataTables("销售明细表").Select(filter)
        For Each drx As DataRow In drxs
            drx("型号")=e.DataRow("型号")
            drx("品类")=e.DataRow("品类")
            drx("品牌")=e.DataRow("品牌")
            drx("单位")=e.DataRow("单位")
            drx.save
        Next
        drxs = DataTables("销售明细表").sqlSelect(filter)
        For Each drx As DataRow In drxs
            drx("型号")=e.DataRow("型号")
            drx("品类")=e.DataRow("品类")
            drx("品牌")=e.DataRow("品牌")
            drx("单位")=e.DataRow("单位")
        Next
        DataTables("销售明细表").SQLUpdate(drxs)
End Select


--  作者:SZCD111
--  发布时间:2017/9/27 11:07:00
--  
明白了,谢谢!