以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]窗口保存前空值字段检查 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=50559) |
-- 作者:Gryvip -- 发布时间:2014/5/9 0:56:00 -- [求助]窗口保存前空值字段检查 这个功能在使用窗口时基本都要用到的,请官方关注,放上一段精简及通用的代码,谢谢。 For Each c As WinForm.Control In e.Form.Controls \'遍历窗口控件 \'判断指定的两种类型控件的内容是否为空 If c.Gettype.Name = "TextBox" AndAlso e.Form.Controls(c.Name).Text = "" Or c.Gettype.Name = "ComboBox" AndAlso e.Form.Controls(c.Name).Text = "" Then MessageBox.Show("[" + c.Name + "]" + "不能为空,请输入","提示") \'提示为空的控件名称(建议在控件属性处将控件名称改为提示名称,这样提示会更直观) e.Form.Controls(c.Name).Select() \'定位到该控件输入框内 Exit For End If Next 以上是我在论坛抄来的代码,可以使用,但是以下两句代码不知道放在那个位置合适,请大神们帮忙,谢谢 \'如果指定控件内容不为空,则执行锁定及保存或其他指定代码 Tables("材料信息").AllowEdit = False \'锁定表 Tables("材料信息").Current.Save() \'保存指定表当前行数据 |
-- 作者:Bin -- 发布时间:2014/5/9 8:43:00 -- dim isdo as boolean = true For Each c As WinForm.Control In e.Form.Controls \'遍历窗口控件 \'判断指定的两种类型控件的内容是否为空 If c.Gettype.Name = "TextBox" AndAlso e.Form.Controls(c.Name).Text = "" Or c.Gettype.Name = "ComboBox" AndAlso e.Form.Controls(c.Name).Text = "" Then MessageBox.Show("[" + c.Name + "]" + "不能为空,请输入","提示") \'提示为空的控件名称(建议在控件属性处将控件名称改为提示名称,这样提示会更直观) e.Form.Controls(c.Name).Select() \'定位到该控件输入框内 isdo=false Exit For End If Next if isdo then Tables("材料信息").AllowEdit = False \'锁定表 Tables("材料信息").Current.Save() \'保存指定表当前行数据 end if
|
-- 作者:Gryvip -- 发布时间:2014/5/9 9:13:00 -- Bin版主,早上好,谢谢你的关注及解答,论坛有你更精彩。 |