以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]当表A的A列,B列,C列和表B的A列,B列,C列数据都相同时,表B的D列自动输入出售,否则显示未出售  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=98079)

--  作者:jick0526
--  发布时间:2017/3/23 19:04:00
--  [求助]当表A的A列,B列,C列和表B的A列,B列,C列数据都相同时,表B的D列自动输入出售,否则显示未出售
老师,请问下,当表A的A列,B列,C列和表B的A列,B列,C列数据都相同时,表B的D列自动输入出售,否则显示未出售,代码该怎么写,谢谢!
--  作者:有点色
--  发布时间:2017/3/23 20:57:00
--  

参考 http://www.foxtable.com/webhelp/scr/1451.htm

 


--  作者:jick0526
--  发布时间:2017/3/24 5:47:00
--  
老师,帮助的资料我看了,不是很懂,能帮我写下代码吗?或者我用关联表,表达式帮我写下也行,辛苦老师,谢谢!
--  作者:有点蓝
--  发布时间:2017/3/24 8:39:00
--  
用法都差不多:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=97325

结合2楼的帮助处理,不通再把你的代码贴上来

--  作者:有点色
--  发布时间:2017/3/24 9:43:00
--  
以下是引用jick0526在2017/3/24 5:47:00的发言:
老师,帮助的资料我看了,不是很懂,能帮我写下代码吗?或者我用关联表,表达式帮我写下也行,辛苦老师,谢谢!

 

把视频教程,先学一次 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=67187

 


--  作者:jick0526
--  发布时间:2017/3/24 12:56:00
--  
好,我再试下,谢谢老师!
--  作者:jick0526
--  发布时间:2017/3/24 20:44:00
--  
Select Case e.DataCol.Name
    Case "第一列","第二列","第三列"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr.IsNull("第一列") OrElse dr.IsNull("第二列") OrElse dr.IsNull("第三列") Then
            dr("第四列") = Nothing
        Else
            Dim filter As String
            filter = "第一列 = \'" & dr("第一列") & "\' And 第二列 = \'" & dr("第二列") & "\' And 第三列 = \'" & dr("第三列") & "\'"
            pr = DataTables("表A").Find(filter)
            If pr IsNot Nothing Then
   pr("第四列")= pr("第四列") + e.NewValue - e.OldValue       
            e.DataRow("第四列") = "已出售"
        Else
            e.DataRow("第四列") = "未出售"
        End If
        End If
End Select      
老师,我代码已经写好了,可以显示“已出售”和“未出售”了,但是为什么还是不能即时更新,每次要重置列才可以,我已经把即时更新的代码也放进去了,老师能帮我看下吗?

--  作者:有点蓝
--  发布时间:2017/3/24 21:05:00
--  
表A这个事件也要写类似的代码,当表A的值改变的时候,去更新表B第四列的值
--  作者:jick0526
--  发布时间:2017/3/24 21:15:00
--  
老师,能帮我改下吗?这代码不懂的怎么改,谢谢!
--  作者:有点蓝
--  发布时间:2017/3/24 21:37:00
--  
Select Case e.DataCol.Name
    Case "第一列","第二列","第三列"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr.IsNull("第一列") OrElse dr.IsNull("第二列") OrElse dr.IsNull("第三列") Then
        Else
            Dim filter As String
            filter = "第一列 = \'" & dr("第一列") & "\' And 第二列 = \'" & dr("第二列") & "\' And 第三列 = \'" & dr("第三列") & "\'"
            pr = DataTables("表B").Find(filter)
            If pr IsNot Nothing Then
                pr("第四列") = "已出售"
            End If
        End If
End Select