【发布时间】:2019-07-16 22:47:42
【问题描述】:
我有一个 Access 2013 数据库,其中所有表都链接到 SQL Server 2016 表。我有一个 Excel 2013 (.xlsx) 文件,我需要将它导入到 Ms Access 中的一个表中,该表通过 vba 代码链接到 SQL Server(xlsx 和表中的所有字段都是相同的)
我所有的 VBA 代码都驻留在 Access 数据库中,我有一个带有事件按钮的表单,我尝试使用 de“transferspreadsheet”,一个用于 sql 的“插入到”子句,但它们都没有为我工作
这是我的代码,
xtRuta2 表单中具有路径的字段名称 Dim strArchivo2 String ' 文件 xlsx 的路径 c:\reports\mireporte.xlsx 将 miAlerta2 调暗为字符串 将 ssql 作为字符串调暗
strArchivo2 = txtRuta2
miAlerta2 = MsgBox("¿您要为" & strArchivo2 & "导入新信息吗?" & vbCrLf & vbCrLf & "此操作将更新所有信息", vbExclamation + vbOKCancel, "¡INFORMATION IMPORT ALERT! ")
如果 miAlerta2 = vbOK 那么 varAlert2 = MsgBox("请确认您要导入新信息?", vbExclamation + vbOKCancel, "¡CONFIRMATION IMPORT ALERT!") If varAlert2 = vbOK Then
'DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tbl_ZSales_Export Worksheet", strArchivo2, True, "Export Worksheet$"
ssql = "INSERT INTO [tbl_Export Worksheet] select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=" & strArchivo2 & ";HDR=YES', 'SELECT * FROM [Export Worksheet$)'"
'CurrentDb.Execute ssql
MsgBox "Import Finished", vbExclamation + vbOKOnly
endif 结束如果
你能帮我写出正确的代码吗
谢谢问候!
【问题讨论】:
-
你的错误是什么?
-
错误提示:错误 3131 en proc。 cmdImportar2_Click de Documento VBA form_frmImprtar(FROM 子句中的语法错误。)
-
我很确定 Access sql 不支持打开的行集。
-
好的,正确的代码应该是什么?
标签: sql vba ms-access ms-access-2013