以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]同样的代码不同的表,存在执行差 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=72971) |
-- 作者:乡里出城 -- 发布时间:2015/8/10 9:14:00 -- [求助]同样的代码不同的表,存在执行差 If DataTables("订单").Find("[发生日期] Is Null and [产品] Is Null and [客户] Is Null") Is
Nothing Then
Return \'那么返回 End If Dim Result1 As DialogResult Result1 = Messagebox.Show("本次登记的业务数据不完整,按""否""将为你选出未登记未整的业务,按""是""将不会保存未完整的数据,确定要关闭平台吗?","提示",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result1 = DialogResult.No Then
e.Cancel = True \'取消关闭项目
Tables("订单").Filter = "[发生日期] Is Null or [产品] Is Null or [客户] Is Null" MainTable = Tables("订单")
End If 上述代码应该没问题,在项目BeforeCloseProject能执行,可是相同的在其他表里却不能执行该代码,关闭项目就直接关闭了,没有判断行为 |
-- 作者:blackzhu -- 发布时间:2015/8/10 9:26:00 -- e.Cancel = True 不是直接关闭了吗? BeforeOpenProject 在打开项目之前执行,可以在此进行一些环境上的判断,决定是否打开项目。 e参数属性: File:
字符型,表示正在打开的项目文件名称,含路径。 [此贴子已经被作者于2015/8/10 9:25:56编辑过]
|
-- 作者:乡里出城 -- 发布时间:2015/8/10 9:51:00 -- 我表述不清楚?我就是有空值 ,不符合的条件的时候,直接关闭,它就关了,不会有判断 |
-- 作者:大红袍 -- 发布时间:2015/8/10 9:55:00 -- 呃,加入msgbox,看都执行了什么?
只要执行了 e.Cancel = true,就不会关闭项目 |
-- 作者:blackzhu -- 发布时间:2015/8/10 10:01:00 -- 老大 在这个事件中 e.Cancel 设置为TRue 是拒绝打开项目 |
-- 作者:乡里出城 -- 发布时间:2015/8/10 11:26:00 -- 你看没对表的那个项目吧,什么拒绝打开项目,是项目的CLOSE,不是OPEN啊 [此贴子已经被作者于2015/8/10 11:29:51编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/8/10 11:27:00 -- 加入msgbox弹出信息 |
-- 作者:乡里出城 -- 发布时间:2015/8/10 11:28:00 -- 我说了,代码是没错的,换句话来说的,有时能执行的得,有时执行不了,你信么,就同样的代码同样的表,不同的时间,说真的,你相信么 |
-- 作者:乡里出城 -- 发布时间:2015/8/10 11:29:00 -- blackzhu 你没看清楚是项目的那个属性吧
|
-- 作者:大红袍 -- 发布时间:2015/8/10 11:33:00 -- 你第一行这样写
If DataTables("订单").Find("[发生日期] Is Null and [产品] Is Null and [客户] Is Null") Is Nothing Then Return \'那么返回 End If
那么,如果执行了return,下面的代码就不会执行了啊。直接关闭项目啊 |