以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- beforeadddatarow (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=183668) |
-- 作者:edisontsui -- 发布时间:2022/11/12 8:03:00 -- beforeadddatarow Dim dr As DataRow dr = DataTables("出入库单总表").SQLFind("录入员 = \'" & User.name & "\' and 出入库单号 is null") If dr IsNot Nothing Then e.Cancel = True MessageBox.Show("你已经有一个数据行尚未输入<出入库单号>!") End If 上面是一段放在 beforeadddatarow 里面的代码,目的是不让一个用户增加2个空白数据行,但是执行时没有效果。请问是什么原因呢?谢谢。
|
-- 作者:有点蓝 -- 发布时间:2022/11/12 9:08:00 -- 可能数据没有保存,查2次 Dim dr As DataRow dr = DataTables("出入库单总表").SQLFind("录入员 = \'" & User.name & "\' and 出入库单号 is null") If dr is Nothing Then dr = DataTables("出入库单总表").Find("录入员 = \'" & User.name & "\' and 出入库单号 is null") End If If dr IsNot Nothing Then e.Cancel = True MessageBox.Show("你已经有一个数据行尚未输入<出入库单号>!") End If [此贴子已经被作者于2022/11/12 10:16:00编辑过]
|
-- 作者:edisontsui -- 发布时间:2022/11/12 10:06:00 -- 1、现在只是增加一行,都还没有再增加一行,就出现警告了,等于是不允许我增加新行了。 2、为什么要查询2次呢?
|
-- 作者:有点蓝 -- 发布时间:2022/11/12 10:25:00 -- Dim dr As DataRow dr = DataTables("出入库单总表").Find("录入员 = \'" & User.name & "\' and 出入库单号 is null") If dr is Nothing Then dr = DataTables("出入库单总表").SQLFind("录入员 = \'" & User.name & "\' and 出入库单号 is null") End If If dr IsNot Nothing Then e.Cancel = True MessageBox.Show("你已经有一个数据行尚未输入<出入库单号>!") End If
|
-- 作者:edisontsui -- 发布时间:2022/11/12 13:02:00 -- 这个可以了。谢谢。 |