以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 多列判断 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=41728) |
-- 作者:yuyu060712 -- 发布时间:2013/10/25 18:10:00 -- 多列判断 老师,我想问问: If e.DataCol.Name = "产品编号" Then \'发生变化的是产品编号吗? 这段代码是判断一个列满足要求其它列自动填充,可我有4个列需要判断怎么编写代码,就是那4个列的值符合其它表中4个列的内容,后面的自动填充 |
-- 作者:狐狸爸爸 -- 发布时间:2013/10/25 18:16:00 -- dr = DataTables("产品").Find("列1= \'" & e.DataRow("列1") & "\' And 列2= \'" & e.DataRow("列2") & "\' And 列3= \'" & e.DataRow("列3") & "\'") |
-- 作者:yuyu060712 -- 发布时间:2013/10/25 18:18:00 -- 前边的条件不用更改吗? |
-- 作者:sloyy -- 发布时间:2013/10/25 18:19:00 -- 用3个 and 构建一个条件表达式不是很简单吗? |
-- 作者:狐狸爸爸 -- 发布时间:2013/10/25 18:24:00 -- 建议楼主看看这个: http://www.foxtable.com/help/topics/1284.htm |
-- 作者:yuyu060712 -- 发布时间: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 |
-- 作者:有点酸 -- 发布时间:2013/10/25 18:50:00 -- 写好代码之后,对于一有的数据,要重置一下部件编号列,才会生效,看看帮助怎么说的: http://www.foxtable.com/help/topics/1469.htm http://www.foxtable.com/help/topics/0625.htm
如果还是不行,做例子发上来。 |