Я пытаюсь в V Excel использовать VBA для передачи данных в существующую таблицу Access. Я был в состоянии сделать это, но у меня один маленький сбой. Прежде чем нажать на данные для доступа, я хочу очистить текущие данные в таблице Access, поэтому при поступлении новых данных из Excel это единственные данные в таблице Access. Я действительно не знаю, как написать код для Access, так как класс был на VBA для Excel. Я пробовал несколько разных подходов, и каждый раз это не работает. Например, казалось, что код должен работать:
DoCmd.RunSQL "DELETE tblName.* FROM CoversheetTableFourthAttempt
но я получаю сообщение об ошибке при определении объекта.
Если бы вы могли помочь мне с этим, я бы действительно оценил это
Я поставил свой код ниже для справки.
Sub AccessFourthMonth()
Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
' connect to the Access database
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=C:\Users\Kent\Documents\MBA\Winter 2009 Semester\MBA 614\Final Project\shilded\testdatabase.mdb"
' open a recordset
Set rs = New ADODB.Recordset
rs.Open "CoversheetTableFourthAttempt", cn, adOpenKeyset, adLockOptimistic, adCmdTable
' all records in a table
r = 2 ' the start row in the worksheet
Do While Len(Range("A" & r).Formula) > 0
' repeat until first empty cell in column A
With rs
.AddNew ' create a new record
' add values to each field in the record
.Fields("Project") = Range("A" & r).Value
.Fields("Description") = Range("B" & r).Value
.Fields("Amount") = Range("C" & r).Value
.Fields("Date") = Range("D" & r).Value
.Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub