以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 保存前判断控制(解决) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129681) |
-- 作者:taifeng110 -- 发布时间:2019/1/3 17:58:00 -- 保存前判断控制(解决) 增加行数据后,在保存新增行数据前进行一下判断,运费,物流公司不能为空,只要有一个为空就提示,并退出保存 BeforeSaveDataRow里If e.DataRow.IsNull("运费") Then Messagebox.Show("请输入运费!") e.cancel=True End If If e.DataRow.IsNull("") Then Messagebox.Show("请输入运费!") e.cancel=True End If 有没有其他方法写更简便点呢? [此贴子已经被作者于2019/1/5 22:56:47编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/1/3 18:07:00 -- If e.DataRow.IsNull("运费") Then
Messagebox.Show("请输入运费!")
e.cancel=True
return
End If
If e.DataRow.IsNull("物流公司") Then
Messagebox.Show("请输入物流公司!")
e.cancel=True
return
End If |
-- 作者:taifeng110 -- 发布时间:2019/1/3 20:15:00 -- 只能这样一个一个写条件吗?有没有简单的办法呢? |
-- 作者:有点甜 -- 发布时间:2019/1/3 20:56:00 -- Dim cs As String() = {"运费","物流公司"} For Each c As String In cs If e.DataRow.IsNull(c) Then Messagebox.Show("请输入" & c & "!") e.cancel=True Return End If Next |
-- 作者:taifeng110 -- 发布时间:2019/1/3 23:05:00 -- 太感谢了,还是要多学啊,谢谢老大! |
-- 作者:taifeng110 -- 发布时间:2019/1/3 23:45:00 -- Dim cs As String() = {"发货日期","出库编号","物流公司","运费","物流单号","合同编号","客户编号","客户名称"} For Each c As String In cs If e.DataRow.IsNull(c) Then Dim nm As String nm=CurrentTable.Name \'增加了表名 Messagebox.Show("请输入 " & nm & " " &c & " 数据!,不能为空") e.cancel=True Return End If Next 增加了表名,本来想保存的时候提示在哪张表的哪个字段是空,但是存在一个问题,假如:B表里的发货日期是空,鼠标在A表时 提示就变成里:请输入A表发货日期数据,实际应该是请输入B表里发货日期数据,这个怎么改呢?
|
-- 作者:有点甜 -- 发布时间:2019/1/4 9:05:00 -- 改成
nm=e.datatable.name |
-- 作者:taifeng110 -- 发布时间:2019/1/4 9:45:00 -- 还是不可以 |
-- 作者:有点甜 -- 发布时间:2019/1/4 9:51:00 -- 代码没问题,上传具体实例测试。 |
-- 作者:taifeng110 -- 发布时间:2019/1/5 22:57:00 -- 解决了,谢谢! |