以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89423) |
||||
-- 作者:xh2207 -- 发布时间:2016/8/21 19:50:00 -- [求助] 请教: 第一列 第二列 123 ABC 123 DEF 456 ABC 789 DEF 789 DEF 不允许
在DataColChanging事件中设置代码,使得不管通过任何方式修改列的内容,都不能在第一列和第二列同时输入重复值,例如希望第一列和第二列不能同时输入重复值: If e.DataCol.Name = "第一列" ore.DataCol.Name = "第二列“ ThenDim dr As DataRow dr = e.DataTable.Find("第一列 = \'" & e.NewValue & "\'and 第一列 = \'" & e.NewValue & "\'") If dr IsNot Nothing Then MessageBox.Show("已经存在!") e.Cancel = True End If End If
|
||||
-- 作者:cbt -- 发布时间:2016/8/21 20:30:00 -- If e.DataCol.Name= "第一列" Then Dim dr As DataRow = e.DataTable.Find("第一列=\'" & e.NewValue & "\' and 第二列=\'" & e.DataRow("第二列") & "\'") If dr IsNot Nothing Then e.Cancel = True End If ElseIf e.DataCol.Name= "第二列" Then Dim dr As DataRow = e.DataTable.Find("第二列=\'" & e.NewValue & "\' and 第一列=\'" & e.DataRow("第一列") & "\'") If dr IsNot Nothing Then e.Cancel = True End If End If [此贴子已经被作者于2016/8/21 20:31:44编辑过]
|
||||
-- 作者:xh2207 -- 发布时间:2016/8/21 20:55:00 -- 谢谢!cbt |
||||
-- 作者:xh2207 -- 发布时间:2016/8/31 16:24:00 -- 请教:
第一列 第二列 第三列 123 ABC 001 123 DEF 001 456 ABC 001 789 DEF 001 789 DEF 001 不允许 789 DEF 002 允许 123 ABC 001 不允许
如何判断,当第三列的值相同时,不允许第一列和第二列同时重复。当第三列的值不相同时,允许第一列和第二列同时重复。 请教如何完善程序,谢谢 If e.DataCol.Name= "第一列" Then |
||||
-- 作者:有点蓝 -- 发布时间:2016/8/31 17:09:00 -- Select Case e.DataCol.Name Case "第一列","第二列","第三列" Dim dr As DataRow = e.DataTable.Find("第一列=\'" & e.DataRow("第一列") & "\' and 第二列=\'" & e.DataRow("第二列") & "\' and 第三列=\'" & e.DataRow("第三列") & "\'and [_Identify] <> " & e.DataRow("_Identify")) If dr IsNot Nothing Then e.Cancel = True End If End Select |