使用VBA将数据从Excel插入Access表

时间:2016-10-12 22:16:07

标签: excel vba excel-vba ms-access

我需要帮助从Excel中的一行记录中将数据插入Access表。我能够使用这里的代码(Insert Data from Excel into Access using VBA)来做到这一点,但由于主键值相同,我在插入已经在表中的记录时遇到了问题。

我想要的是能够更新记录或删除记录并输入具有相同密钥的新记录。

感谢任何帮助。

Dim Connect As ADODB.Connection
Set Connect = New ADODB.Connection


Connect.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=C:\Users\ExcelFileName.xlsm;Extended Properties=Excel 8.0;" & "Persist Security Info=False"
Connect.Execute "INSERT INTO tbl_TCM_MAA_Data IN 'C:\DataBaseFileName.accdb' SELECT * FROM [SheetName$A2:O2]"

Connect.Close
Set Connect = Nothing

1 个答案:

答案 0 :(得分:0)

xlFilepath = Application.ThisWorkbook.FullName

Set Var = Sheets1.Range("A1")

Connect.Execute "Delete * FROM [TableName] WHERE [Column Name] = " & Var & ""

SQL = "INSERT INTO tbl_TCM_MAA_Data " & _

"SELECT * FROM [Excel 12.0 Macro;HDR=YES;DATABASE=" & xlFilepath & "].[SheetName$A2:O2] where [Column Name] > 1"

Connect.Execute SQL

数据表中的警告表前8行。假设有一个标题(HDR =是) 接下来的6行应包含一个虚拟数据,以定义与访问表列定义等效的列。