以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 能否在beforeLoadOutertable中加载表结构? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=93067) |
-- 作者:happyft -- 发布时间:2016/11/19 20:52:00 -- 能否在beforeLoadOutertable中加载表结构? 打开项目时要先加载几张基础表,现在是先在外部数据表管理中先添加这几张表 如果在外部数据表中不添加任何一张表,能否直接在下面的事件中加载表结构及数据。 S elect Case e.DataTableName Case "系统表","dtbSet","QtbSet","单据流程","SetQuerytb","授权表","授权表2" e.S electString = "S elect * From {" & e.datatablename & "}" Case Else e.Cancel = True End S elect 上面的代码只能加载数据,打开系统时会提示找不到表,要如何同时加载表结构及数据呢? 谢谢!
|
-- 作者:有点青 -- 发布时间:2016/11/20 9:54:00 -- 不添加外部表,你在foxtable里面,是不能直接用上那些表的。
你只能通过加载外部表的方式引入 http://www.foxtable.com/webhelp/scr/1279.htm
|
-- 作者:HappyFt -- 发布时间:2016/11/20 10:53:00 -- 不添加外部表时,直接在beforeloadoutertable事件加入下面代码也不行,但在命令窗口中运行类似的代码又可以加载某个表 S elect Case e.DataTableName Case "系统表","dtbSet","QtbSet","单据流程","授权表","授权表2" Dim q As new OuterTableBuilder q.TableName = e.DataTableName q.C q.S electString = "S elect * From {" & e.DataTableName & "}" q.Build Case Else e.Cancel = True End S elect 要实现这种功能应该在哪个事件写代码或者怎么写才能在打开项目时一次性加载这几个基础表的结构及数据? 谢谢
|
-- 作者:有点青 -- 发布时间:2016/11/20 11:52:00 -- 你不能在 beforeloadoutertable 写。你可以写到afterOpenProject事件。 |
-- 作者:HappyFt -- 发布时间:2016/11/20 18:28:00 --
\'---加载几个初始基础表
将代码写在afteropenproject中加载第二个表时出现上面的错误,再将这几个表重新按旧方式添加到外部表中运行也会出现相同的错误,sql数据库中的dtbSet也确实 设置了主键,不知为何出现这个错误?
|
-- 作者:有点青 -- 发布时间:2016/11/20 19:07:00 -- 你肯定没有设置主键吧?你用旧方式添加,肯定会提示你没有主键。 |
-- 作者:HappyFt -- 发布时间:2016/11/20 23:05:00 -- 谢谢!原来是切换到另外一个数据源上了。按老帅的方式可以直接在打开项目时再添加表结构及数据了,但有个问题就是这样添加的表无法打开表属性设置来设置一些表事件及属性什么的,看来还是只能用旧的方式在外部数据表中添加了。 |