以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态加载表,如何可以修改表结构  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158080)

--  作者:fntfgz
--  发布时间:2020/11/7 9:30:00
--  动态加载表,如何可以修改表结构
老师,我在之前的帖子问过相关的问题
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=154047&skin=0
老师,在追问一下,我用这种方法增加的表,并不能修改表的结构,我的代码如下:请问老师,咱们软件手工填加的数据源,然后在增加外数表就可以修改结构的,请问如果用代码来实现这样的功能,怎么办?

\'加载数据源
\'Connections.Add("test","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\zbdata20.mdb;Persist Security Info=False")

\'加载表
\'方法一
Dim q As new QueryBuilder
q.TableName = "录取信息"
q.C
q.SelectString = "Select * Fr om {录取信息}"
q.Build
MainTable = Tables("录取信息")
[此贴子已经被作者于2020/11/7 9:30:43编辑过]

--  作者:有点蓝
--  发布时间:2020/11/7 9:36:00
--  
要改什么表结构?

如果要改列名,参考:q.SelectString = "Select 第一列 as 新名a,第二列 as 新名b Fr om {录取信息}"

--  作者:fntfgz
--  发布时间:2020/11/7 9:49:00
--  
老师,我没有表达清楚,我上面的代码,把录取信息表加载进来了,我想用咱们的ft的数据表,其它-查看表结构 来手动修改表结构,就提示错误,如下图,我想代码导入的外部表也可以手工来修必表结构


图片点击可在新窗口打开查看此主题相关图片如下:2020-11-07_094526.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2020/11/7 9:56:00
--  
这种方式添加的都是临时表,无法使用foxtable的修改表结构功能。只有内部表和在外部表管理中添加的表才可以。
--  作者:goe12345
--  发布时间:2020/11/7 9:58:00
--  表结构回复
在FT中,查询表,临时表是不能修改表结构的,因为我们本身没有存入数据库中,只是在系统运行中存在,可以查看,但在ft提供的【查看表结构】菜单中只能查看,不能修改。同时查询表与临时表保存也没用,它们不能存到数据库中。


--  作者:fntfgz
--  发布时间:2020/11/7 10:16:00
--  
老师,我每天要在不同的任务中切换,每个任务都有一些自己的数据库,我现在都是建很多个项目,

但是有一个问题特别困扰我,我在这A项目中做了个小表单,使用挺好,但有时也要在B项目中用这个表单,哪么我还得需要从A项目中导出这个表单,再在B项目中导入这个表单,每次导来导出特别麻烦

我现在的想法,我只建一个项目,假如我现在做A任务,那么我把A任务用的数据源,每个数据源导入的表都保存下来,同理把B任务、C任务相关的数据源、导入的外部表都保存下来,
假如我现在把B任务完成了,想做A任务了,我就把B任务的外部表都卸载掉,然后数据源也删除,然后把A任务的保存的配置导入进来,
这样就这一个项目,我做的任何小程序都可以用在任何任务里了

现在的问题,如何用代码自动的在咱们ft的数据源管理,外部表管理中,来动态的增删呢?老师您见多识广,多指导,这个问题真的挺困扰我,再次感谢蓝版

--  作者:有点蓝
--  发布时间:2020/11/7 10:46:00
--  
首先数据源可以动态设置,但是外部表管理是无法动态使用代码设置的。

如果只是业务处理需要,可以全部改为使用窗口处理,表格使用sqltable即可。

如果只是为了修改表结构,可以专门建一个项目,把其它所有项目用到的表都添加到外部表管理中进行管理

--  作者:fntfgz
--  发布时间:2020/11/7 11:36:00
--  
老师,我可以用类似按键精灵的方式,来点击按钮,设置文本框内容,通过这种方式来修改数据源,增添外部表吗?
我可以用这个命令来打开外部数据源窗口
Syscmd.Project.ModifyOuterDatasource()
但是下面的内容我就没法操作了,具体这个窗口的名字,按钮的名字是什么就不清楚了

Forms(***).Controls("*****").PerformClick
--  作者:有点蓝
--  发布时间:2020/11/7 12:00:00
--  
不清楚,我也不会用