以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]为什么有字段却提示字段不属于表 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=47115) |
||||
-- 作者:chnfo -- 发布时间:2014/3/4 19:03:00 -- [求助]为什么有字段却提示字段不属于表 我一打开这个窗口就报出错误,说是sysadd不属于窗口表。 但我检查了一下代码,没发现什么错误,而且点了报错窗口的确定之后,这个表数据显示出来,有sysadd这个字段啊。 还请各位狐神指点迷津。
|
||||
-- 作者:lsy -- 发布时间:2014/3/4 20:07:00 -- If e.Table.Cols.Contains("SysAdd") = False Then If e.Table.Current IsNot Nothing Then \'一定要判断是不是空表 |
||||
-- 作者:chnfo -- 发布时间:2014/3/4 20:27:00 -- 为啥子要加这个? |
||||
-- 作者:lsy -- 发布时间:2014/3/4 20:33:00 -- CurrentChanged先执行了,表后生成。 那就等表生成,有了SysAdd才执行CurrentChanged |
||||
-- 作者:有点甜 -- 发布时间:2014/3/4 20:35:00 -- 以下是引用chnfo在2014-3-4 20:27:00的发言:
为啥子要加这个?
你设置了 TableConChD 表是 sqltabel 类型,但并没有指定打开窗口的时候往表里填充真正的表。
方法一,把表改成副本表,绑定
方法二,编写sql语句 |
||||
-- 作者:chnfo -- 发布时间:2014/3/4 20:57:00 -- 方法二,编写sql语句 ---这个咋个整法?
|
||||
-- 作者:有点甜 -- 发布时间:2014/3/4 21:00:00 -- select * from {xxx} where 1=2
http://www.foxtable.com/help/topics/1907.htm |
||||
-- 作者:chnfo -- 发布时间:2014/3/4 22:07:00 -- 再请教一下。 1、是不是在“SQLTable型Table-例如按照下图所示设置Table控件的属性”里写了SQL就可以不用加 If e.Table.Cols.Contains("SysAdd") = False Then Return End If 这个判断了? 2、在“SQLTable型Table-例如按照下图所示设置Table控件的属性"里写SQL可不可以用表达式变量,例如 select * from {TbA} where ID = \'" & 全局变量X & "\' and Code = \'" & tables("MM").current("Code") & "\'" 之类?
|
||||
-- 作者:有点甜 -- 发布时间:2014/3/4 22:24:00 -- 第一个问题:是的,只要你的这个SqlTable里有SysAdd列,就不需要判断了。
第二个问题:不能用变量。这个是最初始生成的时候执行的,不要太在意,因为你在运行过程中还用fill动态改变了 |
||||
-- 作者:chnfo -- 发布时间:2014/3/4 22:32:00 -- 意思是不是这样? 1、我直接在设置界面里写上select * from {A} ,而表A里正好有sysadd列,就不用加这个了 If e.Table.Cols.Contains("SysAdd") = False Then Return End If 2、然后我在运行过程中用fill改变了,也没有什么影响了。 ---根本目的是不用写这个判断 这样做也行?因为我的加密狗今天忘了带回来,没法测,所以先在这里请教一下,免得明天还要调试一会。
|