【发布时间】:2021-01-31 00:43:26
【问题描述】:
我想构建一个SQL 请求,以便将我的所有工作表内容存储到访问数据库中,为此我构建了以下请求:
sSQL = "INSERT INTO Archive_FP21 (Date_Histo,Caisse,Libelle,Reference_Contrat,Date_de_Nego,Date_Valeur,Echeance_Finale,Libelle_Index,Taux_Actuel,Capital_Origine,Capital_Restant_Du,Marge,Taux_du_cap,Taux_du_Floor,Derniere_Echance_INT,Derniere_Echeance_AMO,Interet,Prochaine_Echeance) " & _
"SELECT * FROM [Feuil1$A:R] IN """ & WbPath & """"
但我面临以下问题:
[我觉得我的问题出在
FROM [Feuil1$A:R] IN """ & WbPath & """"]
下面是我的完整代码子:
Sub archiver()
Dim ws As DAO.Workspace
Dim db As DAO.Database
Dim sDb As String
Dim sSQL As String
Dim qdf As QueryDef
Dim WbPath As String
WbPath = "C:\******\Extraction FP21 Mise en Forme Auto\16102020 - Copie.xlsx"
sDb = "C:\******\BaseFp21.accdb"
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(sDb)
sSQL = "INSERT INTO Archive_FP21 (Date_Histo,Caisse,Libelle,Reference_Contrat,Date_de_Nego,Date_Valeur,Echeance_Finale,Libelle_Index,Taux_Actuel,Capital_Origine,Capital_Restant_Du,Marge,Taux_du_cap,Taux_du_Floor,Derniere_Echance_INT,Derniere_Echeance_AMO,Interet,Prochaine_Echeance) " & _
"SELECT * FROM [Feuil1$A:R] IN """ & WbPath & """"
db.Execute sSQL
End Sub
注意此 SQL 请求的目标是将工作表“Feui1.Range(A:R)”中的所有数据添加到我的访问表中。 我不能逐行填写,因为我有 37K 行要填写 Access。
我错过了什么?您将如何使用 VBA 从 Access DB 中的 excel 中填充 37K 行?
【问题讨论】:
-
您在哪里放置和运行您的 VBA 代码?在要收集的 Excel 文件中或将成为存档的 Access 中,还是在另一个文件中?
-
@Tech-On-the_Beach 在将存档的 excel 文件之外的其他文件中。并且访问数据库应该存储需要归档的文件的内容。但是我的 VBA 模块在另一个工作簿中,而不是在存储数据的工作簿中。希望我足够清楚
-
@Tech-On-the_Beach 我添加了问题的屏幕截图,希望对您有所帮助......我被卡住了
标签: sql excel vba ms-access ms-access-2016