【问题标题】:Update data in an Access table from Excel with VBA使用 VBA 从 Excel 更新 Access 表中的数据
【发布时间】:2017-02-21 21:13:54
【问题描述】:

我使用此处的代码 (Insert Data from Excel into Access) 从 Excel 中的一行将数据插入到 Access 表中。

由于主键值相同,插入表中已有的记录时出现问题。

我想更新记录或删除记录并用相同的键输入一条新记录。

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

【问题讨论】:

  • 首先运行select查询以查看id是否已经存在,然后根据结果运行更新或插入
  • 我不确定在哪里添加该代码,甚至不知道如何添加。我对在 VBA 中使用 SQL 不是很熟悉。但是我添加了我现在拥有的代码。

标签: excel vba ms-access


【解决方案1】:
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=YES) 接下来的 6 行应该包含一个虚拟数据来定义与访问表列定义等效的列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    相关资源
    最近更新 更多