以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  多列判断  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=41728)

--  作者:yuyu060712
--  发布时间: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个列的内容,后面的自动填充


--  作者:狐狸爸爸
--  发布时间: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

 

 

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

 

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