以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 上一个下一个的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=65956) |
-- 作者:swagger -- 发布时间:2015/3/26 15:02:00 -- 上一个下一个的问题 订单窗口,设置如果单号为空就不能新增,在表格DataColChanging或者在设置空间=“”也行可以,但是如果点击上一个或下一个订单就失效了,除了在上下一个设置单号不能为空代码,还有没有其他办法避免这个漏洞? |
-- 作者:有点甜 -- 发布时间:2015/3/26 15:05:00 -- 单号为空不能新增,那你就应该在新增按钮,或者新增事件datarowadding事件,写判断的代码啊 |
-- 作者:swagger -- 发布时间:2015/3/26 16:53:00 -- 以下是引用有点甜在2015/3/26 15:05:00的发言:
单号为空不能新增,那你就应该在新增按钮,或者新增事件datarowadding事件,写判断的代码啊 不行啊,譬如
增加一行按钮的代码是: If Tables("订单").Current("单号") ="" Then
如果单号为空就增加不了
但是按上一个 .Position = .Position - 1 之后,之前的订单的单号是有内容,所以这个时候按新增订单就可以增加了 |
-- 作者:swagger -- 发布时间:2015/3/26 16:54:00 -- 放在datarowadding或者beforerow也不行 |
-- 作者:blsu33 -- 发布时间:2015/3/26 17:02:00 -- 单号为空,不允许上下一行的移动; 在上下移动的Button 中加入 If Tables("订单").Current("单号") ="" Then
MessageBox.Show("单号不能为空!") End If |
-- 作者:有点甜 -- 发布时间:2015/3/26 17:13:00 -- 以下是引用swagger在2015/3/26 16:54:00的发言:
放在datarowadding或者beforerow也不行
不可能,那请上传例子 |
-- 作者:swagger -- 发布时间:2015/3/26 17:15:00 -- 以下是引用blsu33在2015/3/26 17:02:00的发言:
单号为空,不允许上下一行的移动; 在上下移动的Button 中加入
If Tables("订单").Current("单号") ="" Then MessageBox.Show("单号不能为空!") End If 我在一楼已经说了这个办法,我是问有没有更好的办法,因为这个办法没那么灵活。在datarowadding加了判断代码如 If e.DataRow("会员姓名") = "" Then MessageBox.Show("会员姓名必须输入") ,然后在窗口新增控件用table("表A).addnew(), 这样子显示"会员姓名必须输入"的窗口,但是表A还是会新增一行,这个代码该怎么写? |
-- 作者:有点甜 -- 发布时间:2015/3/26 17:22:00 -- 谁叫你这样写代码啊。BeforeAddDataRow事件,这样写
If Tables("订单").Current("单号") = "" Then
MessageBox.Show("单号不能为空!") e.Cancel = true
End If |