以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]为何动态增加的表为临时表呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77631)

--  作者:liuxianjie1980
--  发布时间:2015/11/22 18:35:00
--  [求助]为何动态增加的表为临时表呢?

如题。

 

通过如下代码实现在外部数据源中新增一个表

同时希望新增后直接打开此表

 

Dim Builder As New ADOXBuilder("成绩")
Dim tbl As ADOXTable
Builder.Open()
tbl = Builder.NewTable("表") \'创建表
With tbl
    .AddColumn("姓名" ,ADOXType.String, 20)
    .AddColumn("出生年月" ,ADOXType.DateTime)
    .AddColumn("性别" ,ADOXType.String, 12)
    .AddColumn("从教科目" ,ADOXType.String, 20)
    .AddColumn("入职时间" ,ADOXType.Integer)
    .AddColumn("备注" ,ADOXType.Text)
End With
Builder.AddTable(tbl) \'增加表
Builder.Close()
Syscmd.Project.Load()
MainTable = Tables("表")

 

 


图片点击可在新窗口打开查看此主题相关图片如下:无标题.jpg
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2015/11/22 20:57:00
--  

外部数据源的表,动态创建以后,只是在数据库里添加了,并没有添加进foxtable里面,所以它还是临时表。

 

你必须用到【添加外部数据表】的方式加进来


--  作者:liuxianjie1980
--  发布时间:2015/11/23 14:56:00
--  

那项目发布后,动态创建新表后,就无法用“添加外部数据表”了吧?


--  作者:大红袍
--  发布时间:2015/11/23 15:03:00
--  
以下是引用liuxianjie1980在2015/11/23 14:56:00的发言:

那项目发布后,动态创建新表后,就无法用“添加外部数据表”了吧?

 

是的。要做这种功能,就自己用一个表记录动态创建的表信息。


--  作者:liuxianjie1980
--  发布时间:2015/11/23 16:41:00
--  

红袍兄:可否给个思路或实例。其实你说的我似乎没有怎么懂,图片点击可在新窗口打开查看


--  作者:大红袍
--  发布时间:2015/11/23 16:47:00
--  

 记录表格名称,如 表A,然后在afterOpenProject把表格动态加载出来

 

http://www.foxtable.com/help/topics/1279.htm

 


--  作者:liuxianjie1980
--  发布时间:2015/11/23 17:17:00
--  

Dim q As new OuterTableBuilder
q
.TableName = "订单"
q.TableCaption = "1998年订单"
q.ConnectionName = "Northwind"
q.SelectString = "Select * Fr om {订单} Where Year(订购日期) = 1998 "
q.Build

 

可否写成:

q.TableCaption = ""
q.ConnectionName = "Northwind"
q.SelectString = ""

 


或者 为空的语句就直接省略?


--  作者:大红袍
--  发布时间:2015/11/23 17:33:00
--  

q.SelectString一定要写。

 

只要TableCaption可以不写。