以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  不同表之间的IF问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98924)

--  作者:jick0526
--  发布时间:2017/4/9 15:21:00
--  不同表之间的IF问题
老师,请问下,如果表A表B两个表,当表A的A列和表B的A列数据一样,表A的B列和表B的B列数据不一样时,表A的C列会自动输入“正确”,
当表A的A列,B列和表B的A列B列数据都不一样时,表A的C列会自动输入“错误”这代码该怎么写,谢谢老师!

--  作者:y2287958
--  发布时间:2017/4/9 15:58:00
--  
上例子+详细说明
[此贴子已经被作者于2017/4/9 15:58:38编辑过]

--  作者:jick0526
--  发布时间:2017/4/9 16:26:00
--  
老师,我例子附件已经上传了,麻烦您看下,谢谢!
--  作者:jick0526
--  发布时间:2017/4/9 16:28:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:if例子.xls

老师,我例子附件已经上传了,麻烦您看下,谢谢!

--  作者:有点色
--  发布时间:2017/4/9 21:01:00
--  

方法一:如果你表A的A列的数据是唯一的话,可以把表A作为表B的父表,然后直接引用父表的值

 

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

 

方法二:可以编写代码处理。datacolchanged事件

 

If e.DataCol.name = "A" OrElse e.DataCol.name = "B" Then
    Dim fdr As DataRow = DataTables("表a").find("A = \'" & e.DataRow("A") & "\'")
    If fdr IsNot Nothing AndAlso fdr("B") = e.DataRow("B") Then
        e.DataRow("c") = "正确"
    Else
        e.DataRow("c") = "错误"
    End If
End If