以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 切换用户时有必填字段为空如何中止切换?(已解决) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=27729) |
||||
-- 作者:zpx_2012 -- 发布时间:2013/1/8 21:47:00 -- 切换用户时有必填字段为空如何中止切换?(已解决) 各位老师,
我在BeforeSaveDataRow用了代码如果有必填项目为空的话禁止保存,并且自动定位到为空的地方,关闭项目时也会提示,但现在问题是切换用户时我在最前面加了保存项目的代码,就是想说切换前先检查是否有必填字段没填就中止。 \'切换前先保存
但当点切换按钮时提示有为空的项目,确定后却不会再自动跳到为空处等待处理,而是直接运行下面的代码去了。除了把BeforeSaveDataRow整个代码复制到切换按钮处以外,还有什么其他办法可以实现切换前为空的话必须先处理才能切换?
谢谢! [此贴子已经被作者于2013-1-10 14:52:50编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2013/1/9 13:17:00 -- 试试,加入一句 Syscmd.Project.Save() Application.DoEvents() ......不行的话,就不行了。 |
||||
-- 作者:zpx_2012 -- 发布时间:2013/1/10 9:50:00 -- 谢谢老师,但是加了那句也不可以,如果改成 For Each dt As DataTable In DataTables
接其他代码.....
可以自动定位到为空的表单及字段,但是一按确定按钮又继续往下了,
再请教大家还有没有其他办法定位到为空的那里继续编辑,中止切换? 谢谢! |
||||
-- 作者:lin_hailun -- 发布时间:2013/1/10 10:03:00 -- 没有办法了,这样。 要么,用一个全局变量标志是切换时的保存,然后在保存的地方做一个判断。 要么,把保存的代码写成内部函数,这样就可以灵活调用和控制了。 |
||||
-- 作者:zpx_2012 -- 发布时间:2013/1/10 10:15:00 -- “要么,用一个全局变量标志是切换时的保存,然后在保存的地方做一个判断。”
这个能说的详细点吗,谢谢! |
||||
-- 作者:lin_hailun -- 发布时间:2013/1/10 10:28:00 -- 呃,你做个例子吧。 |
||||
-- 作者:zpx_2012 -- 发布时间:2013/1/10 11:37:00 -- 好的,做了个简单的例子,随便在产品编码上增加一行,然后按配置栏上的“切换用户”按钮,如果产品编码有空时就必须先去处理,切换按钮下面的代码就不能运行即窗口1不会打开。
谢谢!
[此贴子已经被作者于2013-1-10 13:53:22编辑过]
|
||||
-- 作者:blackzhu -- 发布时间:2013/1/10 13:15:00 -- 把保存按钮离得代码取出来 放在必须判断保存的按钮中去. Dim s() As String ={"分类","任务"} For Each dr As DataRow In DataTables("表A").DataRows For i As Integer = 0 To s.Length-1 If dr.IsNull(s(i)) Then MessageBox.Show(s(i) & "不能为空") Dim wz As Integer = Tables("表A").FindRow(dr) If wz >= 0 Then Tables("表A").Position = wz End If Return Else Forms("用户登录").Open End If Next Next 试试这样?
[此贴子已经被作者于2013-1-10 13:18:03编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/1/10 13:18:00 -- 自己做个切换按钮,先检查是否有空,如果有空,给出提示,禁止切换,如果没有空,正常切换 |
||||
-- 作者:zpx_2012 -- 发布时间:2013/1/10 13:47:00 -- 关键是不知道怎么禁止切换? 因为我的保存前验证的代码是在全局表事件中通用的,有e参数,在保存时不管是主表,明细表或关联表都可以自动定位到为空的表及具体行中,
如果到切换按钮中来判断因为没有e参数,就不知道怎么自动定位到为空的那张表了,如果把e.datatable换成Currenttable则代码中到处都提示出错了,很多e参数的地方都不知道要怎么修改才可以。
下面是全局代码中的代码:请问大家要怎么正确的用到切换代码当中?
\'集合系统表中所有有必填字段的表 |