以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 根据数据库的记录,来控制按扭。求助!(已解决) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=26493) |
||||||||
-- 作者:独孤九箭 -- 发布时间:2012/12/6 11:26:00 -- 根据数据库的记录,来控制按扭。求助!(已解决) 要求:在点击窗口中表的不同记录时,窗口中的 删除 按扭可根据相对应的记录显示可用或不可用。我做了一个简单的例子,在这个例子中,是能够实现的.
但是在我的程序中,同样的做法,就会报错。已经三天了,原因还是找不到。 我把我的程序也打包上传。窗口在供调用的子窗口中的产品信息。代码段在 控件:“显示_货号” 中的 ValueChanged 中。
[此贴子已经被作者于2012-12-7 10:59:52编辑过]
|
||||||||
-- 作者:独孤九箭 -- 发布时间:2012/12/6 11:27:00 -- 而且奇怪的是,虽然报错,但好象代码仍然起作用。 |
||||||||
-- 作者:狐狸爸爸 -- 发布时间:2012/12/6 11:53:00 -- 代码写在哪里? 怎么操作出现错误? 错误提示是什么? |
||||||||
-- 作者:独孤九箭 -- 发布时间:2012/12/6 12:04:00 -- 这里是两个例子,一个是简单的,不报错,可以正常运行,也能达成设计的要求。
另一个是我正在做的,代码在 供调用的子窗口中的“产品信息”窗口。代码段在 控件:“显示_货号” 中的 ValueChanged 中。
错误代码位置:窗口,产品信息,显示_货号,ValueChanged System.NullReference Exception: 未将对象引用设置到对象的实例 在 UserCode.ValueChanged_00983a18(controlEventArgs e)
|
||||||||
-- 作者:lin_hailun -- 发布时间:2012/12/6 13:31:00 -- 你的窗口有一个叫做 显示_货号 的控件,你选中它,然后删除就行了。 它隐藏在你控件的后面,你看不见,里面写有代码的…… |
||||||||
-- 作者:独孤九箭 -- 发布时间:2012/12/6 13:50:00 -- 您没看懂我的问题啊?俺正是要通 显示_货号 这个控件,来控制按扭是否可用。这里面的这段代码和上面简单例子中的代码逻辑相同,为什么这段代码会报错呢。
如果这个问题无法解决,我就只能绕道了。唉。。。
|
||||||||
-- 作者:sunsenfeng -- 发布时间:2012/12/6 14:12:00 -- 回不了系统菜单,看不到代码,帮不了 |
||||||||
-- 作者:狐狸爸爸 -- 发布时间:2012/12/6 14:23:00 -- 问题出在这里:
If CurrentTable.Current("有关联") Then
请不要用:CurrentTable,请使用:Tables("产品名录") |
||||||||
-- 作者:独孤九箭 -- 发布时间:2012/12/6 14:54:00 -- 狐爸,问题不是在这里。我也改过用Tables("产品名录"),问题依然存在。您说的问题只要把当前表设成产品名录就行了。但肯定不是这个问题。
我现在正在解决这个问题。我用的方法是这样:
在我的系统中重新建一个窗口,首先试验一下最简单的那个例子,发现不报错,也能实行功能。然后,我把原来产品名录窗口中的控件,一个一个在这个新窗口中重建。到现在为止,还没有报错。
因此我想问题可能是出在什么地方有冲突,但具体还搞不清楚在那里有冲突。我想单独的这段代码是看不出什么明堂的。等我重新发现有冲突的地方时再向你们汇报,暂时我自己先搞。谢谢啦。
|
||||||||
-- 作者:独孤九箭 -- 发布时间:2012/12/6 16:18:00 -- 问题找到了! 问题是出在目录树的代码。
因为选择节点时,会改变数库的指针,并改变绑定的控件 显示_货号 的值,并引发该控件 ValueChanged 事件。从而引发报错。还没想到如何解决。先休息一下。 |