AW: Berechnungen aus Excel in Access übernehmen
13.08.2004 10:19:56
maristein
Guten Morgen
Nachdem der gestrige (schwüle) Tag überstanden ist, habe ich folgenden Code ausprobiert.
Die Pfadangaben habe ich natürlich geändert, ebenso die "field" und "Range" Angaben.
Sub ADOFromExcelToAccess()
' exports data from the active worksheet to a table in an Access database
' this procedure must be edited before use
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:\DB\Test.mdb;"
' open a recordset
Set rs = New ADODB.Recordset
rs.Open "TableName", cn, adOpenKeyset, adLockOptimistic, adCmdTable
' all records in a table
r = 3 ' 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("Feld1") = Range("A" & r).Value
.Fields("Feld2") = Range("B" & r).Value
.Fields("Feld3") = Range("C" & r).Value
' add more fields if necessary...
.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
Bei der Zeile:
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=C:\FolderName\DataBaseName.mdb;"
bricht das Programm ab.
Die Access-Datenbank ist bereits geöffnet - Excel wird aus Access heraus gestartet.
Die Access-Datenbank soll nach Ausführen des Codes nicht geschlossen werden.
Jetzt bin ich aber mächtig überfordert!
Hat jemand vielleicht eine Tipp, warum dieser Code bei mir nicht funktioniert, bzw. welche Zeile geändert werden müssen?
Gruß
marijan