access数据库批量修改
⑴ 如何批量修改access表格中的某一列
用Access不同于Excel,可以通过拖拉数据实现快速填充,Access是不具备这些功能的,但它有更加方便快速的方法,就是sql语句.像你提到的问题就可以通过类似于
UPDATE 表名 SET [Type]='MG3' WHERE ID>=10 AND ID<=30
这样的语句一次性修改为MG3.但这需要你有一些基本的SQL知识.如果感兴趣,可以学习一下SQL相关知识.
⑵ access表如何批量修改我有很多表,要把数据16字段都替成15,此外表名中有16的也替换成15
先看修改字段名标准语法:
Docmd.runSQL"altertable<表名>change<字段名><字段新名称><字段的类型>"
结合您题目的需求,可以写为:
Docmd.runSQL"altertable<表名>change<#&'15'&#><#&'16'&#><字段的类型>"
修改表名标准语法:
Docmd.runSQL"altertable<表名>change<字段名><字段新名称><字段的类型>"
您的修改表明要求可以参考如下:(使用的是SQL语言,可以直接在VB中引用)
SELECTNAMEFROMSYS.ALL_OBJECTSWHERETYPE='U'ORDERBYMODIFY_DATEDESC--查询所有表名
SELECTNAMEFROMSYS.ALL_OBJECTSWHERETYPE='U'
ANDnameLIKE'%\_0%'escape''ANDnameNOTLIKE'%_OLD'
ORDERBYMODIFY_DATEDESC
DECLARE@COUNTINT
DECLARE@NAMENVARCHAR(100)
DECLARE@RENAMENVARCHAR(100)
SELECT@COUNT=COUNT(1)FROMSYS.ALL_OBJECTSWHERETYPE='U'ANDnameLIKE'%_FOREX_%'--查询循环次数
WHILE@COUNT>0
BEGIN
SELECT@NAME=nameFROMSYS.ALL_OBJECTSWHERETYPE='U'ANDnameLIKE'%_FOREX_%'--查询旧表名
SELECT@RENAME=REPLACE(name,'_FOREX_','_WH_')FROMSYS.ALL_OBJECTSWHERETYPE='U'ANDnameLIKE'%_FOREX_%'--查询新表名
EXECsp_rename@NAME,@RENAME;--修改表名
SET@COUNT=@COUNT-1;
END
⑶ 如何在access中批量修改数据
要使用Access2003以上的版本,比如将表table1中的content字段里的AA全部改成BB.操作如下:
打开数据库后,查询--->在设计视图中创建查询,然后关闭弹出的窗口,点左上角工具栏的SQL输入:
update table1 set content=replace(content,'AA','BB')
最后点工具栏中的惊叹号来执行命令
SQL语句说明:
update [表名] set [字段名]=replace([字段名],'AA','BB')
⑷ 如何在ACCESS数据库中批量替换内容、数据库批量查询
想更快更准确的替换,还是得用到SQL执行语句。方法之一:1 打开你的数据库MDB2 在数据库窗口中,点击“查询”,或在“视图”菜单中选择“数据库对象”->“查询”3 点击数据库窗口中的“新建”按钮4 点击“确定”,关闭“显示表”窗口5 点击工具栏左上侧的“SQL”,或在“视图”菜单中选择“SQL 视图”6 删掉所有的内容7 直接输入SQL语句(替换表as_info中字段n_content 中的";"分号为空为例):update as_info SET n_content = replace(n_content,";","") 该方法对ACCESS 2000库无效。8 点击工具栏上“查询”-->“运行”即可。方法二:set Rs = Server.CreateObject("ADODB.Recordset") sql1="select n_content from as_info" rs.open sql1,conn,1,3 do while not rs.eof n_content=replace(rs("n_content"),";","") rs("n_content")=n_content rs.update rs.movenext loop rs.close set rs=nothing 方法三:批量替换工具点击下载此文件
⑸ 如何在access数据库中批量修改数据
批量修改数据的方式是多种多样的,有复杂有简单,具体要根据数据结构和修改要求而定,没有固定的答案。
下面提供2个批量修改的例子供参考:
1) 将所有的商品售价提高10%
update commodity set price=price*1.1;
2) 对级别在3级以上用户积分增加1000分
update users set points=points+1000
where grade>=3;
⑹ access数据库如何批量修改。
新增SQL查询
updatecheckinoutsetchecktype=1wherecheckinout<>1
⑺ 如何在access数据库中批量替换内容
这个问题,最好是有具体要求才好具体解答。
下面是批量替换举例,将客户表里属于湖北省的其地址字段中的“
荆州市
”改为“
荆沙市
”
update
客户
set
地址=replace(地址,"荆州市","荆沙市")
where
省份="湖北";
⑻ 批量修改access列的名称的方法
高效批量修改ACCESS表列名,必须具备一定的前提。一是那些需要被修改的表名必须有规律。例如统一以固定的有效字符串开头或者结尾,按其他可识别的规律编写也行;二是这些表都有相同的结构。否则没办法批量修改,只能一张一张表进行修改了。
假设那些需要修改列名的表均以字符串“2013_"开头,原字段名分别为A, B,C, D, E
下面是用代码进行修改的示范案例,供参考。
由于ACCESS JET引擎既不不支持修改表名也不支持修改列名,因此无法以运行SQL数据定义查询的方式来修改字段名。下面代码使用ADO数据访问对象扩展类库ADOX来修改列名。
首先需要引用ADOX
引用方法:
打开VBE窗口
引用ADOX—— 菜单"工具"-> "引用 "--> 勾选Microsoft ADO Ext.2.7 for DDL ado Security 或更高版本,点击确定按钮
新建一个ACCESS窗体,添加一个命名按钮“COMMAND1” 为该按钮编写下列单击事件过程:
Private Sub Command1_Click()
Dim MyDB As New ADOX.Catalog
Dim Obj As ADOX.Table
Dim Col As ADOX.Column
MyDB.ActiveConnection = CurrentProject.Connection
For Each Obj In MyDB.Tables
If Obj.Name Like "2013_*" Then '其他形式的表名规律请修改这里Like "2013_*"
For Each Col In MyDB.Tables(Obj.Name).Columns
If Col.Name = "A" Then Obj.Columns("A").Name = "月份"
If Col.Name = "B" Then Obj.Columns("B").Name = "销量"
If Col.Name = "C" Then Obj.Columns("C").Name = "单价"
If Col.Name = "D" Then Obj.Columns("D").Name = "总价"
If Col.Name = "E" Then Obj.Columns("E").Name = "备注"
Next Col
End If
Next Obj
MsgBox "表列名批量修改完毕"
End Sub
保窗体后,点击命令按钮即可瞬间完成批量表列名的修改工作,字段A 改为"月份"、字段B
改为"销量"、字段C 改为"单价"、字段D改为"总价"、字段E 改为"备注"。已经修改过的列名不会再被修改,这样对于新导入的新表可以随时点击该按钮更改列名,而不用担心存在反复修改的问题。楼主可以按照自己的实际需求调整上面代码里的表名规律和新旧字段名即可。
这可是个高技术活,很少人能写出来的。能给加些分吗?