我認爲這有一個簡單的答案,但我瘋狂地試圖谷歌的答案。 我有一個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