我想使用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