Foxtable(狐表)用户栏目专家坐堂 → 多列判断


  共有4190人关注过本帖树形打印复制链接

主题:多列判断

帅哥哟,离线,有人找我吗?
yuyu060712
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:214 积分:1758 威望:0 精华:0 注册:2013/5/20 23:54:00
多列判断  发帖心情 Post By:2013/10/25 18:10:00 [只看该作者]

老师,我想问问: 

 If e.DataCol.Name = "产品编号" Then '发生变化的是产品编号吗?
    '在产品表找出该产品
   
Dim dr As DataRow
    dr =
DataTables("产品").Find("编号 = " & "'" & e.DataRow("产品编号") & "'" )
   
If dr IsNot Nothing '如果找到, 则设置各列内容
        e.
DataRow("品名")= dr("品名")
        e.
DataRow("型号")= dr("型号")
        e.
DataRow("规格")= dr("规格")
   
End If
End
If

这段代码是判断一个列满足要求其它列自动填充,可我有4个列需要判断怎么编写代码,就是那4个列的值符合其它表中4个列的内容,后面的自动填充


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/10/25 18:16:00 [只看该作者]

 dr = DataTables("产品").Find("列1= '" & e.DataRow("列1") & "' And  列2= '" & e.DataRow("列2") & "'  And 列3= '" & e.DataRow("列3") & "'")

 回到顶部
帅哥哟,离线,有人找我吗?
yuyu060712
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:214 积分:1758 威望:0 精华:0 注册:2013/5/20 23:54:00
  发帖心情 Post By:2013/10/25 18:18:00 [只看该作者]

前边的条件不用更改吗?


 回到顶部
帅哥哟,离线,有人找我吗?
sloyy
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2180 积分:13804 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2013/10/25 18:19:00 [只看该作者]

用3个 and 构建一个条件表达式不是很简单吗?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/10/25 18:24:00 [只看该作者]

建议楼主看看这个:

http://www.foxtable.com/help/topics/1284.htm


 回到顶部
帅哥哟,离线,有人找我吗?
yuyu060712
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:214 积分:1758 威望:0 精华:0 注册:2013/5/20 23:54:00
  发帖心情 Post By:2013/10/25 18:36:00 [只看该作者]

我在表属性的 DataColChanged下写的代码确定后没有作用??另条件表达式,我先也用了,就是AND后边的加了引号 If e.DataCol.Name = "部件图号" Then '发生变化的是产品编号吗? '在产品表找出该产品 Dim dr As DataRow dr = DataTables("工艺清单").Find("零件图号= '" & e.DataRow("零件图号") & "' And 名称= '" & e.DataRow("名称") & "' And 规格= '" & e.DataRow("规格") & "' And 材质= '" & e.DataRow("材质") & "'") If dr IsNot Nothing '如果找到, 则设置各列内容 e.DataRow("产品件数")= dr("产品件数") e.DataRow("下料尺寸")= dr("下料尺寸") e.DataRow("锻件重量")= dr("锻件重量") e.DataRow("毛坯重量")= dr("毛坯重量") e.DataRow("消耗定额")= dr("消耗定额") e.DataRow("技术条件")= dr("技术条件") e.DataRow("设备")= dr("设备") e.DataRow("零件重量")= dr("零件重量") e.DataRow("试样下料尺寸")= dr("试样下料尺寸") End If End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点酸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2013/10/25 18:50:00 [只看该作者]

写好代码之后,对于一有的数据,要重置一下部件编号列,才会生效,看看帮助怎么说的:

http://www.foxtable.com/help/topics/1469.htm

http://www.foxtable.com/help/topics/0625.htm

 

 

图片点击可在新窗口打开查看

 

如果还是不行,做例子发上来。


 回到顶部