以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  定义一个TABLE  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187121)

--  作者:hopestarxia
--  发布时间:2023/6/24 11:24:00
--  定义一个TABLE
Dim t2 As Table =  Tables("订单选择_Table1").GetCheckedRows()

For Each r2 As Row In t2.Rows

If  t2.compute("count(goodsid)","referbillid = \'" & r2("referbillid") & "\' and referitemno = \'" & r2("referitemno") & "\' ") > 1 Then
    msgbox("重复引用明细行数据,请检查")
    Return
End If

Next

老师,我定义一个定,是订单选择窗口中的table1 中选择的行,保存时报错,请问这种情况 怎么定义?》



--  作者:有点蓝
--  发布时间:2023/6/24 20:36:00
--  

For Each r2 As Row In Tables("订单选择_Table1").GetCheckedRows()

If  t2.compute("count(goodsid)","referbillid = \'" & r2("referbillid") & "\' and referitemno = \'" & r2("referitemno") & "\' ") > 1 Then
    msgbox("重复引用明细行数据,请检查")
    Return
End If

Next

--  作者:hopestarxia
--  发布时间:2023/6/25 9:27:00
--  
老师,我还要使用 t2.compute 这个代码,这个T2    Table 怎么定义呢?
--  作者:有点蓝
--  发布时间:2023/6/25 9:28:00
--  
Dim t2 As Table =  Tables("订单选择_Table1")

For Each r2 As Row In t2.GetCheckedRows()
If  t2.compute("cou............

--  作者:hopestarxia
--  发布时间:2023/6/25 9:38:00
--  
谢谢老师!我以为能在定义TABLE时直接定义表就只是选中行。
--  作者:hopestarxia
--  发布时间:2023/6/25 10:26:00
--  
老师,还是没有实现,我只是检测选择中的表中某一项是否相同的,不是整个表中去取数、
--  作者:有点蓝
--  发布时间:2023/6/25 10:33:00
--  
Dim t2 As Table =  Tables("订单选择_Table1")
dim lst as new list(of string)
For Each r2 As Row In t2.GetCheckedRows()
dim s as string = r2("referbillid") & r2("referitemno")
If  lst.contians(s) Then
    msgbox("重复引用明细行数据,请检查")
    Return
End If
lst.add(s)
Next

--  作者:hopestarxia
--  发布时间:2023/6/25 14:22:00
--  
老师,指导的代码报错,编码错误“contians”不是"system collections.generic.list(of string) 的成员
老师:我这想改为,检查是否有不同referbillid 值的数据,有就提示重复
If  t2.compute("count(goodsid)","referbillid <> \'" & r2("referbillid") & "\' ") > 1 Then
    msgbox("重复引用明细行数据,请检查")
    Return
End If

--  作者:有点蓝
--  发布时间:2023/6/25 14:35:00
--  
打错字而已,改为contains
--  作者:hopestarxia
--  发布时间:2023/6/25 15:07:00
--  
谢谢老师!上面的可以了,
老师,我这里还要检查一个条件,检查是否存在不同的合同号,请问老师这里应该怎么调整?

Dim t2 As Table =  Tables("订单选择_Table1")
Dim lst As new List(of String)
For Each r2 As Row In t2.GetCheckedRows()
Dim s As String = r2("合同号") 
If  lst.contains(s) Then
    msgbox("只能引用相同合同号的数据,请检查")
    Return
End If
lst.add(s)
Next