以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]请教这段代码什么情况! (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=23666) |
-- 作者:gaoyong30000 -- 发布时间:2012/9/16 11:56:00 -- [求助]请教这段代码什么情况! Tables("售后客户档案_售后客户档案Table1").fill("SELECT * From {历史进店记录}","华泰内控系统-ERP",False)
Tables("售后客户档案_售后客户档案Table2").fill("SELECT * From {售后客户档案}","华泰内控系统-ERP",False)
这是售后客户档案 afterload里的代码 红色部分放在上面
在售后客户档案里 有一个窗口 "售后客户档案Table2" 里的currentchanged 有一段代码
If forms("售后客户录入").opened Then
如果刚才 售后客户档案 afterload里的代码 红色部分放在下面 如这样
Tables("售后客户档案_售后客户档案Table2").fill("SELECT * From {售后客户档案}","华泰内控系统-ERP",False)
Tables("售后客户档案_售后客户档案Table1").fill("SELECT * From {历史进店记录}","华泰内控系统-ERP",False)
打开售后客户档案 就会出现这个错误,如果放在上面则不会有这情况
请问是什么原因 另外 售后客户档案_售后客户档案Table1 如果不在afterload里 用fill填充 而用 控件自带的 select * from {} 也不会出现这个错误
求解~~~~~~~~~~~~~~~~~~ [此贴子已经被作者于2012-9-16 11:56:57编辑过]
|
-- 作者:jspta -- 发布时间:2012/9/16 12:03:00 -- 应该是你生成table2,触发了这个事件,此时你没有table1,程序就报错了 |
-- 作者:gaoyong30000 -- 发布时间:2012/9/16 17:33:00 -- 这就奇怪了 也就是说 我生成了table2后 currentchange里的代码就执行啦。。。
不等afterload里代码执行完 就执行currentchange里的了??
求解 |
-- 作者:mr725 -- 发布时间:2012/9/16 20:08:00 -- 你可以在代码的适当的位置插入:
For Each cl As Col In CurrentTable.Cols
看看列名都是些什么。。。有没有“底盘号”列。 |
-- 作者:jspta -- 发布时间:2012/9/17 22:52:00 -- 我也遇到过,跟你一样,先后顺序不同会报错。currentchange属性里写这样代码,最好带个判断列名称是否存在,否则容易报错 |
-- 作者:czy -- 发布时间:2012/9/17 23:04:00 -- 用MessageBox放在Filter的前面,提示后先不要关闭提示框,再检查一下到底生成这个列没有。 |