我认为这有一个简单的答案,但我疯狂地试图谷歌的答案。 我有一个Excel工具,通过VBA从Access数据库下载数据。到目前为止,除了当我尝试更新数据时,所有这些工作都很好。通过Excel更新访问数据
我认为问题是我通过QueryTable导入数据。我似乎无法得到一个简单的代码来运行以下命令:
- 创建连接到Access数据库表
- 删除表中
- 运行的“INSERT INTO”查询所有项目同桌
这里是我的代码:
Set obj = ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(_
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" & cPath & ";Mode=ReadWrite"), Destination:=Range("W6")).QueryTable
With obj
.CommandType = xlCmdSql
.CommandText = Array(cRng.Offset(3, 0).Value)
.PreserveFormatting = True
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SaveData = True
.PreserveColumnInfo = True
.SourceDataFile = cPath
.ListObject.DisplayName = cName
.Refresh BackgroundQuery:=False
End With
其中,
CPATH = Access数据库的路径
cRng = Excel中使用SELECT查询电池(这只是正常)
CNAME =表的名称/对象
我然后运行两个 “与目标文件” s到使用DELETE和INSERT INTO查询更新.CommandText,但这是Excel表示无法运行查询的地方。
任何想法?我知道答案可以非常简单。
谢谢!
请在您的问题中包含完整的查询文字。此外,请确保您的Excel文件在单元格中没有任何非ASCII字符(Excel倾向于添加一个字符来对齐事物,一个简单的检查就是将其复制并粘贴到即时窗口中,并检查意外的问题标记)。 –
它们是非常简单的查询:“SELECT * from tbl_Date”,“DELETE * from tbl_Date”,“INSERT INTO tbl_Date VALUES('7/7/2017')” – ddelpinal