以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请问老师如何在窗口中新增记录的时候判断表中某列是否重复 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169517) |
-- 作者:初心不改再说未来 -- 发布时间:2021/6/19 11:36:00 -- 请问老师如何在窗口中新增记录的时候判断表中某列是否重复 如果是重复的,则弹出提示框,然后暂停往表中插入数据,如果是没有重复值,则正常往表中添加数据 我在表事件中写了这个代码: 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 nr As Row = Tables("地址表").AddNew nr("订单名称") = e.form.controls("textbox1").Text nr("订单地址") = e.form.controls("textbox2").Text |
-- 作者:有点蓝 -- 发布时间:2021/6/19 11:45:00 -- 去掉datacolchanged事件代码 提交按钮 Dim dr As DataRow dr = DataTables("地址表").Find("订单地点 = \'" & e.form.controls("textbox2").Text & "\'") If dr IsNot Nothing Then MessageBox.Show("此订单地点已经存在!") else Dim nr As Row = Tables("地址表").AddNew nr("订单名称") = e.form.controls("textbox1").Text nr("订单地址") = e.form.controls("textbox2").Text End If |
-- 作者:初心不改再说未来 -- 发布时间:2021/6/19 12:00:00 -- 多谢老师,已解决,周末快乐~~~ |