以文本方式查看主题

-  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=113639)

--  作者:jick0526
--  发布时间:2018/1/19 20:48:00
--  if问题
老师,有表A表B两个表,当A列一样时,B列没有一个一样,C列会显示失败,否则则为空,如下图所示,这样的代码要怎么写,谢谢!
表A
  A 列   B列
   002 47 
   002 25
   003 476
   003 13
表B
A列 B列C列  
 002  99   失败
 003476   

--  作者:有点蓝
--  发布时间:2018/1/19 21:06:00
--  
没有一个一样?指的什么不一样
--  作者:jick0526
--  发布时间:2018/1/19 21:31:00
--  
比如表A和表B的A列都是002,表A的B列是47和25,而表B的B列却是99,而不是47或25,也就是说和表A的B列都对应不上,那么就显示失败,

比如表A和表B的A列都是003,表A的B列是476和13,而表B的B列是476,有一个一样,都有476,所以显示为空,也就是说当A列一样的情况下,B列只要有一个对应的上,就为空,如果一个都对应不上,则显示失败

--  作者:有点蓝
--  发布时间:2018/1/19 22:02:00
--  
表BDataColChanged事件

Select Case e.DataCol.name
    Case "A列","B列"
        Dim dr As DataRow = DataTables("表A").Find("A列 = \'" & e.DataRow("A列") & "\' and B列 = \'" & e.DataRow("B列") & "\' ")
        If dr Is Nothing Then
            e.DataRow("C列") = "失败"
        Else
            e.DataRow("C列") = Nothing
        End If
End Select