以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 莫名其妙的错误,请帮忙看看问题在哪里? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=3758) |
||||
-- 作者:reachtone -- 发布时间:2009/7/31 12:40:00 -- 莫名其妙的错误,请帮忙看看问题在哪里? 这是例子,代码非常简单。
窗口1的按钮事件如下: With DataTables("表A") ’从数据库中重载表 .LoadFilter = "" .Load() End With With Tables("表A") ’清空过滤条件、设置排序并增加一行 .Filter = "" .Sort = "_Identify" .AddNew() End With 数据表CurrentChanged的事件设置如下: MessageBox.Show(e.table.Current("第一列")) 两个事件分别单独执行都没问题,但如果两个事件都触发,就出错了。搞了一上午都没找出原因,头都大了。请高手帮忙看看,多谢! |
||||
-- 作者:mr725 -- 发布时间:2009/7/31 12:57:00 -- if tables"表A").count > 1 then MessageBox.Show(e.table.Current("第一列")) end if 但会出现两次MessageBox.Show的提示窗口 ~? 且第一次提示的第一行第一列的内容,第二次提示的就是增加的行第一列的内容(空值),如果按钮中给增加的行第一列赋值后,还会再显示赋值后的内容。 还有一个怪现象:就是,任何单元格输入的第一个字符或空格键后就好跳出了提示(显示原该行第一列的内容),输入完回车后又提示输入后的内容。。。。。 按钮代码中,不增加行也没问题~ ! 但按钮对任何行的第一列赋值,都会在第一行第一列中显示??? [此贴子已经被作者于2009-7-31 13:38:54编辑过]
|
||||
-- 作者:reachtone -- 发布时间:2009/7/31 13:38:00 -- 是的,非常奇怪。估计就是因为新增行的问题。按说,用table里的新增行,光标会自动定位到这个新增行上,弹出的显示内容也应该是这个新增行的。为什么就出错呢? |
||||
-- 作者:mr725 -- 发布时间:2009/7/31 13:51:00 -- 还有啊~ 1、按钮中只用第一段代码 with .... end with : 这时表中的无论当前是选择那个单元格都会跑到第一行去。但这是currentchanged事件代码不会提示! 2、按钮中只用第二段代码 with .... end with :增不增加行都不会有上面现象~ [此贴子已经被作者于2009-7-31 13:52:39编辑过]
|
||||
-- 作者:reachtone -- 发布时间:2009/7/31 14:16:00 -- 期待老六答疑解惑! 困扰我大半天了,郁闷。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/7/31 14:21:00 -- 出错是正常,因为Load之前,因为重新加载的话,Current会为空的,直到加载结束。 |
||||
-- 作者:reachtone -- 发布时间:2009/7/31 14:27:00 -- 以下是引用狐狸爸爸在2009-7-31 14:21:00的发言:
出错是正常,因为Load之前,因为重新加载的话,Current会为空的,直到加载结束。 确实如此,加个判断就可以了:If CurrentTable.Current Isnot nothing。 |