Foxtable(狐表)用户栏目专家坐堂 → 如何修改MDB文件的结构


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

主题:如何修改MDB文件的结构

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


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
如何修改MDB文件的结构  发帖心情 Post By:2014/6/2 23:32:00 [只看该作者]

在狐表运行中,因为内部数据库的需要,要将外部数据mdb文件的结构改变一下,但文件中已经有了好多历史数据,现想改动一个列名,把 “xy” 改为 “需要”,并将宽度 2 改为 3 ,由于用户很多,每个电脑里都有改动前的数据库,因此在修改前 还要判断一下 数据库里列 “XY”是否存在。恳请专家帮助指教! 


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


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/6/3 11:42:00 [只看该作者]

请专家帮忙指导一下!谢谢!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/3 12:50:00 [只看该作者]

 每个电脑都带一个数据库?都是自己的数据?如果是,建议不要改列名了。

 

 动态修改表列名,参考这里 http://www.foxtable.com/help/topics/2122.htm

 

 


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


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/6/3 23:05:00 [只看该作者]

如果我有一个Access数据源,名称为 “单位信息.mdb”  内有表“职工”和“单位”,想把职工表中的列“XY” ,改为“需要”

 

Dim Builder As New ADOXBuilder(单位信息.mdb)
Builder.Open()

With
Builder.Tables("职工")
    .
RenameColumn("XY","需要")
End With

Builder
.Close()

 

上面写法中 单位信息.mdb 前要加上路径吗?修改该列的长度添加到哪里地方?可能我代码也写的不对,请多多指教!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/3 23:31:00 [只看该作者]

 看了一下,用下面的代码

 

Dim cmd As new SQLCommand

cmd.ConnectionName = "xxx"
cmd.CommandText = "alter table {表A} add 第100列 varchar(10);"
cmd.ExecuteNonQuery
cmd.CommandText = "update {表A} set 第100列=第一列;"
cmd.ExecuteNonQuery
cmd.CommandText = "alter Table {表A} drop Column 第一列;"
cmd.ExecuteNonQuery

[此贴子已经被作者于2014-6-3 23:31:49编辑过]

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


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/6/9 23:19:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

敬请版主帮我解决一下。想了好久都没有解决成功,上了实例,修改一下窗体中的红色按钮就行了,本来还想问一下如果修改字段类型的,如果方便,也请指导一下。衷心感谢“有点甜”的悉心指导,谢谢!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/10 8:38:00 [只看该作者]

建议你直接更改标题更为妥当

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/10 9:31:00 [只看该作者]

 代码大致这样。

 

Connections.Add("test", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ProjectPath & "data\信息数据库.mdb;Persist Security Info=False;Jet OLEDB:Database Password=123456")
Dim cmd As new SQLCommand
cmd.C
cmd.CommandText = "alter table {教职工信息表} add 检测 varchar(10);"
cmd.ExecuteNonQuery
cmd.CommandText = "update {教职工信息表} set 检测=jc;"
cmd.ExecuteNonQuery
cmd.CommandText = "alter Table {教职工信息表} drop Column jc;"
cmd.ExecuteNonQuery
cmd.CommandText = "alter table {教职工信息表} add 级别 varchar(10);"
cmd.ExecuteNonQuery
cmd.CommandText = "update {教职工信息表} set 级别=jb;"
cmd.ExecuteNonQuery
cmd.CommandText = "alter Table {教职工信息表} drop Column jb;"
cmd.ExecuteNonQuery
Connections.Delete("test")


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


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/6/10 17:09:00 [只看该作者]

我的软件发布后给若干个用户使用,各用户的电脑里都建立了有记录的数据库,现在因系统升级,需要统一更改数据库的列名称,因此只能在升级的程序里把修改的代码写到控件里,在用户执行的时候更改自己的数据库结构。直接改标题没用的。


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


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/6/10 17:31:00 [只看该作者]

第二行的代码好像是误写的吧,去掉“cmd.C”后执行控件 ,结果是:

 

“找不到表或约束条件。”

 

然后就是:

Microsoft Jet 数据库引擎找不到输入表或查询 '~TMPCLP教职工信息表'。 确定它是否存在,以及它的名称的拼写是否正确。”

 

然后就是循环出现上述现象。

 

请版主从百忙中抽点时间帮我把实例修改一下。不甚感谢!

 

 



 回到顶部
总数 19 1 2 下一页