从Excel更新Access数据库中的数据

时间:2014-09-17 10:04:19

标签: excel-vba vba excel

我想使用excel vba构建一个简单的工具来更新现有记录,并将新记录添加到访问数据库。目标是仅使用2次点击即可完成操作。

第一部分 - 已解决(从Access数据库中检索数据):我创建了一个excel表,用于在名为“Mapping Matrix”的选项卡中查询来自Access数据库的数据,因此每次需要更新时,都会使用一个函数来刷新数据

因此,我将更新Sheet“Mapping Matrix”中的现有数据,甚至在我要求将这些数据传播到我的访问数据库之前添加新数据。

第二部分 - 请帮助 (使用Excel电子表格标签“映射矩阵”更新访问数据库“映射”)

以下是我尝试使用Excel中查询的更新现有记录所做的工作。但是,我遇到了这条错误消息:“INSERT INTO语句包含以下未知字段名称:'F1'。请确保您已正确输入名称,然后再次尝试操作。”

我不太明白如何修复错误,因为我没有在代码中应用F1。

注意:我将要求此数据替换访问数据库中的数据(不添加现有数据)

提前全部谢谢!

Public Sub Populate_Data()


  Set cn = CreateObject("ADODB.Connection")
  dbPath = "Access Database Path.mdb"
  dbWb = Application.ActiveWorkbook.FullName
  dbWs = Application.ActiveSheet.Name
  scn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath
  dsh = "[" & Application.ActiveSheet.Name & "$]"
  cn.Open scn

  ssql = "INSERT INTO Mapping ([Field1], [Field2], [Field3]) "
  ssql = ssql & "SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh


  cn.Execute ssql

End Sub

0 个答案:

没有答案