以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  代码首次运行 和第二次运行的结果不一样  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=9271)

--  作者:lihe60
--  发布时间:2011/3/24 9:18:00
--  代码首次运行 和第二次运行的结果不一样

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

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

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


--  作者:czy
--  发布时间:2011/3/24 9:21: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("业务员"))


--  作者:czy
--  发布时间:2011/3/24 10:56:00
--  
既然textbox1已经绑定到全局变量,e.form.controls("textbox1").text=""这段代码就不应该有,如果一定要放上也应该放到打开明细账_业务员窗口前执行。
--  作者:lihe60
--  发布时间:2011/3/24 14:24:00
--  

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

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


--  作者:lihe60
--  发布时间: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("业务员"))

这个问题,怎么解决呀?


--  作者:狐狸爸爸
--  发布时间:2011/3/24 16:50:00
--  
自己分析一下吧,我和大家一样,没有明白你之后的问题。
--  作者:lihe60
--  发布时间:2011/3/25 8:24:00
--  

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


--  作者:lihe60
--  发布时间:2011/3/25 8:46:00
--  
我确实分析不出来了,还请贺老师帮我分析一下吧。
--  作者:狐狸爸爸
--  发布时间:2011/3/25 9:15:00
--  

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

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