以文本方式查看主题

-  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
--  


此主题相关图片如下:360截图20161120182237931.jpg
按此在新窗口浏览图片

\'---加载几个初始基础表
Dim tbs() As String = {"系统表","dtbSet","QtbSet","单据流程","SetQuerytb","授权表","授权表2"}
For i As Integer = 0 To tbs.length - 1
    If DataTables.Contains(tbs(i)) = False Then
        msgbox(tbs(i))
        Dim q As new OuterTableBuilder
        q.TableName = tbs(i)
        q.ConnectionName = Mydata
        q.S electString = "S elect * From {" & tbs(i) & "}"
        q.Build
    End If
Next

 

 

将代码写在afteropenproject中加载第二个表时出现上面的错误,再将这几个表重新按旧方式添加到外部表中运行也会出现相同的错误,sql数据库中的dtbSet也确实

设置了主键,不知为何出现这个错误?

 



--  作者:有点青
--  发布时间:2016/11/20 19:07:00
--  

 你肯定没有设置主键吧?你用旧方式添加,肯定会提示你没有主键。


--  作者:HappyFt
--  发布时间:2016/11/20 23:05:00
--  
谢谢!原来是切换到另外一个数据源上了。按老帅的方式可以直接在打开项目时再添加表结构及数据了,但有个问题就是这样添加的表无法打开表属性设置来设置一些表事件及属性什么的,看来还是只能用旧的方式在外部数据表中添加了。