以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]职员名称重复后提示5遍 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61046) |
-- 作者:blsu33 -- 发布时间:2014/12/5 21:56:00 -- [求助]职员名称重复后提示5遍 老师, 下列代码放在 DataCol changing,当职员名称重复时,会出现MessageBox 提示1 出现4遍,提示2出现1遍,这是为什么。 Select Case e.DataCol.Name \'判断编码和名称是否重复开始 Case "编码名称" Dim dr As DataRow dr = e.DataTable.Find("编码名称 = \'" & e.NewValue & "\'") If dr IsNot Nothing Then MessageBox.Show("职员名称重复是否正确!","请确认") ‘提示1 end If Case "编码规则" Dim dr As DataRow dr = e.DataTable.Find("编码规则= \'" & e.NewValue & "\'") If dr IsNot Nothing Then MessageBox.Show("职员编码重复是否正确!","请确认") e.Cancel = True End If End Select \'判断编码和名称是否重复结束 If e.DataCol.Name = "编码名称" Then Dim dr As DataRow dr = e.DataTable.Find("编码名称 = \'" & e.DataRow("编码名称") & "\' and _Identify <> " & e.DataRow("_Identify")) If dr IsNot Nothing Then MessageBox.Show("职员姓名重复是否正确!","请确认") ‘提示2 e.Cancel=True End If End If
|
-- 作者:land089 -- 发布时间:2014/12/5 22:38:00 -- 试试看这个 Select Case e.DataCol.Name \'判断编码和名称是否重复开始 Case "编码名称" Dim dr As DataRow dr = e.DataTable.Find("编码名称 = \'" & e.NewValue & "\'") If dr IsNot Nothing Then MessageBox.Show("职员名称重复是否正确!","请确认") ‘提示1 e.Cancel=True end If Case "编码规则" Dim dr As DataRow dr = e.DataTable.Find("编码规则= \'" & e.NewValue & "\'") If dr IsNot Nothing Then MessageBox.Show("职员编码重复是否正确!","请确认") e.Cancel = True End If End Select
|
-- 作者:blsu33 -- 发布时间:2014/12/5 23:07:00 -- 多了一个“ e.Cancel=True”,本例考虑有同名的人存在时是“友情提示”,不用 e.Cancel=True。 [此贴子已经被作者于2014-12-5 23:35:55编辑过]
|
-- 作者:blsu33 -- 发布时间:2014/12/5 23:36:00 -- 有点甜老师, 是否为两个窗口同时不符合上述编码要求出现了提示?
|