Foxtable(狐表)用户栏目专家坐堂 → 代码首次运行 和第二次运行的结果不一样


  共有11323人关注过本帖树形打印复制链接

主题:代码首次运行 和第二次运行的结果不一样

帅哥哟,离线,有人找我吗?
lihe60
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6804 积分:43033 威望:0 精华:0 注册:2009/3/2 14:07:00
代码首次运行 和第二次运行的结果不一样  发帖心情 Post By:2011/3/24 9:18:00 [只看该作者]

运行表“明细账”中的窗口“应付账款明细账”,点击“按业务员”按钮,双击选中一名业务员,数据不正确。若再次点击“按业务员”按钮,双击选中一名业务员,数据正确,以后若干次都是正确的。

为什么打开窗口,第一次结果不正确,以后结果都正确。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目21.rar


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/3/24 9:21:00 [只看该作者]

门关着呀。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/24 9:42:00 [只看该作者]

楼主你已经掌握了一点点基本的分析技巧,但是还不够,你知道在后面来个MessageBox.Show(vars("业务员"))来显示变量的值,为什么不在前面也来个呢?

按下面这样设置,可以看出目录树窗口关闭后,变量是有值的,执行完红色的代码后,变量的值是空的。

为什么执行完红色的代码,变量的值是空的,因为textbox1已经绑定到变量了,红色代码将textbox1的值设置为"",变量的值自然就为空了。

这是代码逻辑问题,你重新整理一下思路吧。

 

 

vars("业务员")=""
vars("单位名称")=""
Forms("明细账_业务员").open()
MessageBox.Show("1:" & vars("业务员"))
Dim s As String=e.Form.controls("cb2").text
If e.form.controls("textbox1").text<>""
    e.form.controls("textbox1").text=""
End If
If e.form.controls("textbox2").text<>""
    e.form.controls("textbox2").text=""
End If
e.form.controls("textbox1").ReadOnly = BooleanEnum.True '锁定
e.form.controls("textbox2").ReadOnly = BooleanEnum.False '解锁
MessageBox.Show("2:" & vars("业务员"))


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/3/24 10:56:00 [只看该作者]

既然textbox1已经绑定到全局变量,e.form.controls("textbox1").text=""这段代码就不应该有,如果一定要放上也应该放到打开明细账_业务员窗口前执行。

 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6804 积分:43033 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/3/24 14:24:00 [只看该作者]

原因是找到了,但解决方案还是想不出来。

结果就是“运行窗口,第一次选中业务员会出来数据。”,求解。


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6804 积分:43033 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/3/24 16:40:00 [只看该作者]

以下是引用狐狸爸爸在2011-3-24 9:42:00的发言:

楼主你已经掌握了一点点基本的分析技巧,但是还不够,你知道在后面来个MessageBox.Show(vars("业务员"))来显示变量的值,为什么不在前面也来个呢?

按下面这样设置,可以看出目录树窗口关闭后,变量是有值的,执行完红色的代码后,变量的值是空的。

为什么执行完红色的代码,变量的值是空的,因为textbox1已经绑定到变量了,红色代码将textbox1的值设置为"",变量的值自然就为空了。

这是代码逻辑问题,你重新整理一下思路吧。

 

 

vars("业务员")=""
vars("单位名称")=""
Forms("明细账_业务员").open()
MessageBox.Show("1:" & vars("业务员"))
Dim s As String=e.Form.controls("cb2").text
If e.form.controls("textbox1").text<>""
    e.form.controls("textbox1").text=""
End If
If e.form.controls("textbox2").text<>""
    e.form.controls("textbox2").text=""
End If
e.form.controls("textbox1").ReadOnly = BooleanEnum.True '锁定
e.form.controls("textbox2").ReadOnly = BooleanEnum.False '解锁
MessageBox.Show("2:" & vars("业务员"))

这个问题,怎么解决呀?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/24 16:50:00 [只看该作者]

自己分析一下吧,我和大家一样,没有明白你之后的问题。

 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6804 积分:43033 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/3/25 8:24:00 [只看该作者]

我的问题就是,如何解决打开窗口后首次选择业务员不出现数据的问题。


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6804 积分:43033 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/3/25 8:46:00 [只看该作者]

我确实分析不出来了,还请贺老师帮我分析一下吧。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/25 9:15:00 [只看该作者]

呵呵,我都不明白你遇到了啥问题,怎么分析啊。

你得用简单明了的例子,让大家明白你得问题。


 回到顶部
总数 17 1 2 下一页