我已经在这个网站上搜索了我的问题,但是无法找到解决方案。 我是excel VBA的初学者,需要一些帮助,以使用excel-VBA用excel电子表格中的新数据更新访问数据库中的旧数据。
我已经从互联网创建了以下步骤。
第1步:上传初始数据(此步骤中有一个正常工作的VBA宏):
上传excel表:
第2步:从访问权限下载数据到excel(此步骤中,我正在使用VBA宏)
从访问权限下载:
第3步:现在,我想用excel表中的修订数据覆盖整个访问表。我无法在此步骤中找到宏。
从excel覆盖以访问:
请为此步骤提供VBA程序或任何网站链接,以帮助我。
我无法在此处附加excel工作表。
答案 0 :(得分:0)
最终从其他来源找到了宏,并与其他任何初学者共享代码
Sub Modify()
Dim dbs As ADODB.Connection
Dim rset1 As ADODB.Recordset
Dim sql As String
Dim ws As Worksheet
Dim lr As Long
Dim FName As String
Dim i As Long, j As Integer
FName = "C:\Users\temp\Database - Copy.accdb" 'change as needed
Set dbs = New ADODB.Connection
dbs.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & FName
Set rset1 = New ADODB.Recordset: rset1.CursorLocation = adUseClient
Set ws = Worksheets("Import") 'update sheet name as needed.
lr = ws.Range("B" & Rows.Count).End(xlUp).Row
For i = 10 To lr
rset1.Open "SELECT * FROM [DB] WHERE [ID] = " & ws.Range("B" & i).Value, dbs, , adLockOptimistic
With rset1
For j = 1 To rset1.Fields.Count - 1
.Fields(j).Value = ws.Range("B" & i).Offset(0, j).Value
Next j
.Update
.Close
End With
Next i
Set rset1 = Nothing
dbs.Close: Set dbs = Nothing
End Sub