Foxtable(狐表)用户栏目专家坐堂 → 动态加载表,如何可以修改表结构


  共有3033人关注过本帖树形打印复制链接

主题:动态加载表,如何可以修改表结构

帅哥哟,离线,有人找我吗?
fntfgz
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
动态加载表,如何可以修改表结构  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/7 9:36:00 [只看该作者]

要改什么表结构?

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

 回到顶部
帅哥哟,离线,有人找我吗?
fntfgz
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
  发帖心情 Post By:2020/11/7 9:49:00 [只看该作者]

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


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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/7 9:56:00 [只看该作者]

这种方式添加的都是临时表,无法使用foxtable的修改表结构功能。只有内部表和在外部表管理中添加的表才可以。

 回到顶部
帅哥哟,离线,有人找我吗?
goe12345
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:381 积分:2937 威望:0 精华:0 注册:2015/5/15 20:56:00
表结构回复  发帖心情 Post By:2020/11/7 9:58:00 [只看该作者]

在FT中,查询表,临时表是不能修改表结构的,因为我们本身没有存入数据库中,只是在系统运行中存在,可以查看,但在ft提供的【查看表结构】菜单中只能查看,不能修改。同时查询表与临时表保存也没用,它们不能存到数据库中。


 回到顶部
帅哥哟,离线,有人找我吗?
fntfgz
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
  发帖心情 Post By:2020/11/7 10:16:00 [只看该作者]

老师,我每天要在不同的任务中切换,每个任务都有一些自己的数据库,我现在都是建很多个项目,

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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/7 10:46:00 [只看该作者]

首先数据源可以动态设置,但是外部表管理是无法动态使用代码设置的。

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
fntfgz
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
  发帖心情 Post By:2020/11/7 11:36:00 [只看该作者]

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

Forms(***).Controls("*****").PerformClick

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/7 12:00:00 [只看该作者]

不清楚,我也不会用

 回到顶部