以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于多值字段的重复输入问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=152840) |
||||
-- 作者:wugang0131 -- 发布时间:2020/7/23 15:04:00 -- 关于多值字段的重复输入问题 有两列,"参会人员"和"缺席人员",均为多值字段,如何禁止两列出现任一姓名的重复输入?实在写不出代码,请老师指教,谢谢
|
||||
-- 作者:有点蓝 -- 发布时间:2020/7/23 15:20:00 -- 是指同一个列里,多行不能有相同的姓名? 还是指同一行里"参会人员"选了张三,"缺席人员"就不能选张三?
|
||||
-- 作者:wugang0131 -- 发布时间:2020/7/23 15:26:00 -- 蓝老师,是指同一行里参会人员选了张三,缺席人员就不能选张三 |
||||
-- 作者:有点蓝 -- 发布时间:2020/7/23 15:33:00 --
|
||||
-- 作者:wugang0131 -- 发布时间:2020/7/23 15:38:00 -- 谢谢蓝老师,又学到了一点 |
||||
-- 作者:wugang0131 -- 发布时间:2020/7/31 15:33:00 -- 蓝老师,麻烦再请教一下,您的这段代码,在只有一行数据的情况下是有效的;但是当存在第二、三.......行数据时,就出现数据无法输入等问题,不知原因何在?请指教 |
||||
-- 作者:有点蓝 -- 发布时间:2020/7/31 15:35:00 -- 我测试没有问题。请上传实例说明 |
||||
-- 作者:wugang0131 -- 发布时间:2020/7/31 15:43:00 -- 比如第一行“参会人员”全选后,第二行“参会人员”全选时,就会提示此姓名已经存在,不知是何缘故?麻烦
蓝老师看一下 |
||||
-- 作者:有点蓝 -- 发布时间:2020/7/31 15:56:00 -- If e.DataCol.Name = "参会人员" Then If e.NewValue > "" AndAlso e.DataRow.IsNull("缺席人员") = False Dim dr As DataRow Dim str As String = "," & e.DataRow("缺席人员") & "," For Each s As String In e.NewValue.split(",") If str Like "*," & s & ",*" Then MessageBox.Show("此姓名已经存在!") e.Cancel = True Return End If Next End If ElseIf e.DataCol.Name = "缺席人员" Then If e.NewValue > "" AndAlso e.DataRow.IsNull("参会人员") = False Dim dr As DataRow Dim str As String = "," & e.DataRow("参会人员") & "," For Each s As String In e.NewValue.split(",") If str Like "*," & s & ",*" Then MessageBox.Show("此姓名已经存在!") e.Cancel = True Return End If Next End If End If
|
||||
-- 作者:wugang0131 -- 发布时间:2020/7/31 16:10:00 -- 这回可以了,谢谢蓝老师. 是不是上回代码e.DataTable.Find("\',\'+缺席人员1+\',\'
like \'%," & s & ",%\'")这一段导致这一列的干扰?谢谢
|