如何在MS Access中移除数据表字段值的引号?
嘿,这个问题我之前帮不少人解决过,CSV导入Access后字段全带引号确实挺闹心的,给你几个靠谱的解决办法:
方法1:用更新查询批量移除引号
这是最省心的批量处理方式,不用写代码:
- 打开你的Access数据库,切换到创建选项卡,点击查询设计
- 选择需要处理的数据表,添加到查询窗口
- 点击查询类型组里的更新按钮,把查询切换为更新模式
- 在需要修改的字段对应的「更新到」行中,输入替换函数:
Replace([字段名], """", "")注:Access里双引号需要用双引号转义,所以这里的
"""实际代表一个要替换的双引号。比如字段叫订单号,就写Replace([订单号], """", "") - 先点击视图按钮切换到数据表视图,预览修改效果没问题后,再点击运行执行更新
方法2:用VBA脚本批量处理所有字段
如果你的表有几十上百个字段,一个个写更新查询太费时间,用VBA一键搞定:
- 按
Alt + F11打开VBA编辑器 - 点击菜单栏的插入→模块,新建一个模块
- 粘贴下面的代码,记得把
你的表名替换成你实际的数据表名称:
Sub RemoveQuotesFromAllFields() Dim db As DAO.Database Dim rs As DAO.Recordset Dim fld As DAO.Field Set db = CurrentDb Set rs = db.OpenRecordset("你的表名", dbOpenDynaset) Do While Not rs.EOF rs.Edit ' 只处理文本和备注类型的字段,数字/日期类型不会有引号 For Each fld In rs.Fields If fld.Type = dbText Or fld.Type = dbMemo Then fld.Value = Replace(fld.Value, """", "") End If Next fld rs.Update rs.MoveNext Loop rs.Close Set rs = Nothing Set db = Nothing MsgBox "所有字段的引号已移除完成!" End Sub
- 按F5运行脚本,等弹出提示框就搞定了
方法3:重新导入CSV时从根源避免引号
如果还没开始处理数据,或者可以重新导入,调整导入设置能直接避免这个问题:
- 打开Access,点击外部数据选项卡,选择导入并链接组里的文本文件
- 选中你的CSV文件,导入方式选「导入当前数据库的新表中」,点击确定
- 在导入向导第2步,确认分隔符是逗号(CSV默认),然后点击高级按钮
- 在弹出的「导入规格」窗口里,找到文本限定符,把默认的双引号
"改成「无」,点击确定 - 跟着向导完成后续步骤,新导入的数据表就不会带引号了
内容的提问来源于stack exchange,提问作者newuser
相关产品推荐
相关产品推荐

