sql - MS Access 使用 VBA 插入数据,运行时错误 3061
问题描述
我的 VBA 数据库中有一个简单的测试表,其结构如下:
Field Name | Data Type
Header1 | Short Text
Header2 | Short Text
我还有一个 CSV 文件,其中包含以下数据:
Header1;Header2
A;1
B;2
C;3
我正在尝试编写一个简单的 VBA 代码,它将 CSV 中的新数据插入到测试表中,到目前为止我有这个:
Sub ImportDataFromCSV()
Dim db As DAO.Database
Set db = CurrentDb()
db.Execute _
"INSERT INTO Testing (" & _
"[Header1]" & _
",[Header2])" & _
" SELECT Header1, Header2" & _
" FROM [Text;FMT=CSVDelimited;HDR=Yes;DATABASE=C:\Users\PC\Desktop\;].[testing#csv];", dbFailOnError
db.TableDefs.Refresh
RefreshDatabaseWindow
End Sub
不幸的是,当我运行我的潜艇时,我得到了
运行时错误 3061:参数太少。预计2。
我知道这与它有关
"INSERT INTO Testing (" & _
"[Header1]" & _
",[Header2])"
我对吗?
我认为当从基于另一个 SELECT 的数据集插入时,这与 MySQL 的工作方式类似,我认为当我链接 CSV 时,它会以类似的方式工作。
我在这里阅读了一些问题,但无济于事。
我还在查询编辑器中重新创建了查询,并在要求我输入 Header1 和 Header2 的参数值后追加了 3 个没有数据的新空白行。
我可以改变什么来让它工作?
谢谢
解决方案
你的代码是正确的。问题是该文件没有像 csv 预期的那样以逗号分隔。所以它被视为 1 列。您可以将 csv 更改为
Header1,Header2
A,1
B,2
C,3
它会起作用。
推荐阅读
- haskell - 尝试打印整数的值并且代码永远不会返回
- ubuntu - 编译openzwave代码时与串口有关的错误
- c - 我从下面的程序中收到了我想要的错误消息,但我不知道为什么。(在 dev c++ 中使用 c 编程)
- node.js - pm2 --watch 每隔 3 秒记录一次,与配置文件无关
- python - Django Inline Admin - 如何覆盖保存行为
- python - Python - 无法解码获取命令输出
- python - Access PostgreSQL hstore keys and values in Python and create new dataframe column for each key
- nao-robot - Choregraphe:如何更改 NAO 的胸部和脚部 LED
- python-3.x - Hi, I'm a beginner in Python, and I would like to know how to get an index number from a list with multiple values in the same index
- php - The "no-ansi" option does not exist