以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]重新提问关于表属性中事件代码的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160825)

--  作者:chypr020
--  发布时间:2021/2/23 13:53:00
--  [求助]重新提问关于表属性中事件代码的问题
有两个表,分别是“生产统计”和“熔炼效率”,现在想实现如下功能:
在“生产统计”表中的数据列“铸锭批号2”中填写了信息后,会在“熔炼效率”中的“铸锭批号”列同步信息,并将该批号中的相关生产信息同步到相应数据列中。(可能有些词语不够准确,但大体意思没错)
采用的方法是:利用表属性中的DataColChanged事件,代码如下:
Select Case e.DataCol.name
    Case "铸锭批号2"
        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("铸锭批号2")
            dr("毛锭规格")=e.DataRow("锭型")
            dr("熔炼起始时间")=e.DataRow("熔炼时间")
            dr("熔炼结束时间")=e.DataRow("补缩时间")
            dr("熔炼1_班组")=e.DataRow("熔炼班组")
            dr("熔炼1_长度_结束")=e.DataRow("熔炼长度")
            dr("熔炼2_班组")=e.DataRow("熔炼班组2")
            dr("熔炼2_长度_结束")=e.DataRow("熔炼长度2")
            dr("熔炼3_班组")=e.DataRow("熔炼班组3")
            dr("熔炼3_长度_结束")=e.DataRow("熔炼长度3")
            dr("熔炼4_班组")=e.DataRow("熔炼班组4")
            dr("熔炼4_长度_结束")=e.DataRow("熔炼长度4")
        Else
            dr("铸锭批号")=e.DataRow("铸锭批号2")
        End If
        dr.save
   Case "熔炼起始时间","熔炼结束时间","熔炼1_班组","熔炼1_长度_结束","熔炼2_班组","熔炼2_长度_开始","熔炼2_长度_结束","熔炼3_班组","熔炼3_长度_开始","熔炼3_长度_结束","熔炼4_班组","熔炼4_长度_开始","熔炼4_长度_结束"
        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

然而,在填写信息后,没有任何效果。请教:如何寻找问题。

--  作者:有点蓝
--  发布时间:2021/2/23 14:09:00
--  
修改"铸锭批号2"数据不会改变?到数据库看看数据有没有变化?

另外已有数据重置一下列

--  作者:chypr020
--  发布时间:2021/2/23 14:28:00
--  
果然,数据库里的信息有变化,但在狐表里看不到。
--  作者:有点蓝
--  发布时间:2021/2/23 14:34:00
--  
sqlfind改的是后台数据,前端需要重新加载数据
--  作者:chypr020
--  发布时间:2021/2/24 8:54:00
--  
好啦,多谢蓝老师