
高效批量修改ACCESS表列名,必须具备一定的前提。一是那些需要被修改的表名必须有规律。例如统一以固定的有效字符串开头或者结尾,按其他可识别的规律编写也行;二是这些表都有相同的结构。否则没办法批量修改,只能一张一张表进行修改了。
假设那些需要修改列名的表均以字符串“2013_"开头,原字段名分别为A, B,C, D, E
下面是用代码进行修改的示范案例,供参考。
由于ACCESS JET引擎既不不支持修改表名也不支持修改列名,因此无法以运行SQL数据定义查询的方式来修改字段名。下面代码使用ADO数据访问对象扩展类库ADOX来修改列名。
首先需要引用ADOX
引用方法:
打开VBE窗口
引用ADOX—— 菜单"工具"-> "引用 "--> 勾选Microsoft ADO Ext27 for DDL ado Security 或更高版本,点击确定按钮
新建一个ACCESS窗体,添加一个命名按钮“COMMAND1” 为该按钮编写下列单击事件过程:
Private Sub Command1_Click()
Dim MyDB As New ADOXCatalog
Dim Obj As ADOXTable
Dim Col As ADOXColumn
MyDBActiveConnection = CurrentProjectConnection
For Each Obj In MyDBTables
If ObjName Like "2013_" Then '其他形式的表名规律请修改这里Like "2013_"
For Each Col In MyDBTables(ObjName)Columns
If ColName = "A" Then ObjColumns("A")Name = "月份"
If ColName = "B" Then ObjColumns("B")Name = "销量"
If ColName = "C" Then ObjColumns("C")Name = "单价"
If ColName = "D" Then ObjColumns("D")Name = "总价"
If ColName = "E" Then ObjColumns("E")Name = "备注"
Next Col
End If
Next Obj
MsgBox "表列名批量修改完毕"
End Sub
保窗体后,点击命令按钮即可瞬间完成批量表列名的修改工作,字段A 改为"月份"、字段B
改为"销量"、字段C 改为"单价"、字段D改为"总价"、字段E 改为"备注"。已经修改过的列名不会再被修改,这样对于新导入的新表可以随时点击该按钮更改列名,而不用担心存在反复修改的问题。楼主可以按照自己的实际需求调整上面代码里的表名规律和新旧字段名即可。
这可是个高技术活,很少人能写出来的。能给加些分吗?
用as给字段取一个新名字。如表tb_user里面有一个user_name字段,现在查询的结果里面只出现name即可了,可以这样写。
select tb_useruser_name as name from tb_user
数据库使用二维表存储数据,它不像电子表格那样,具有固定的行号和列号。相对于电子表格来讲,它的列号相当于各个字段名,但是它没有固定的列号,垂直方向的坐标需要由各个记录行的字段值来确定。
获取数据表某些单元的数据,一般可以用SQL选择查询,选定输出字段加上筛选条件选字段来确定,例如
select 课程 from 课程表 where 课程id='001';
如果数据表具有唯一约束的列,例如主键或带唯一索引的字段,那么我们就可以用该列名或者说是字段名(横向坐标)加列值(纵向坐标)来精确定位某个记录单元。但是如果不存在唯一标识列的情况下,我们就无法精确定位到某个记录单元了 因为它会返回多个记录行。其实用电子表格单元格的概念去理解数据库表,并不是一个好主意,电子表格和数据库的用途不同,各有各的强项。但就数据处理的能力来讲,数据库要远较电子表格强大,前者关注于数据的储存、管理,和检索,后者关注于数据的展示。请注意现实中数据库中的数据的使用是要通过应用程序来体现的,例如从数据库检索出数据导入到excel做进一步处理并某种外观予以展示。
Access表不能按照EXCEL表格理解。数据库关系具有2个特点,就是可任意交换两行或两列的位置。所以你要单独查找第二行是不能实现的,因为第二行可以是任意一行。你要查找某一行,就需给他一个ID号。
以上就是关于批量修改access列的名称的方法全部的内容,包括:批量修改access列的名称的方法、access选择查询中字段别名怎么设置、如何提取access数据库中的某个数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)