以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 这样的判断语句怎么写? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52079) |
-- 作者:石四 -- 发布时间:2014/6/8 22:02:00 -- 这样的判断语句怎么写? 表A,“批次”列,禁止批次号重复。
If e.DataCol.Name = "批次" Then Dim dr As DataRow dr = e.DataTable.Find("批次 = \'" & e.NewValue & "\'") If dr IsNot Nothing Then MessageBox.Show("此批次号已经存在!不允许重复登记") e.Cancel = True End If End If
现在改为用按钮增加行,不会写代码:
Dim pc As String = e.Form.Controls("批次").value Dim dr As DataRow dr = DataTables("表A").Find("[批次] = \'" & pc & "\' ") If dr = pc Then MessageBox.Show("此批次号已经存在!不允许重复登记") Else Tables("表A").AddNew() End If
帮帮忙,谢谢。 |
-- 作者:有点甜 -- 发布时间:2014/6/8 22:04:00 -- 不论用什么新增行,只要编写了Datacolchanging事件,就能禁止重复了。
你只要给列赋值,就能判断出来了。 |
-- 作者:石四 -- 发布时间:2014/6/8 22:29:00 -- 以下是引用有点甜在2014-6-8 22:04:00的发言:
不论用什么新增行,只要编写了Datacolchanging事件,就能禁止重复了。
你只要给列赋值,就能判断出来了。 哦,但是还是希望在赋值前能提示不输入重复值。 |
-- 作者:有点甜 -- 发布时间:2014/6/8 22:35:00 -- 这样写
Dim pc As String = e.Form.Controls("批次").value Dim dr As DataRow = DataTables("表A").Find("[批次] = \'" & pc & "\' ") If dr IsNot Nothing Then MessageBox.Show("此批次号已经存在!不允许重复登记") Else Tables("表A").AddNew() End If
|