Exceldaten nach Access und zurück
Hallöchen Marion,
ich könnte dir ja mal ne private Lektion erteilen, bin mir
aber sicher, dass du da ganz allein mit fertig wirst. Falls es
da doch irgendwelche Klippen geben sollte, die du wirklich
nicht allein bewältigst, stehe dir gern für Nachhilfe zur
Verfügung.
die Nachhilfe muß ich jetzt mal anfordern, weil ich komme da Null weiter.
Ich habe in Blatt1 in Excel eine kleine Tabelle gebastelt, in A die Plz, in B der Ort.
Jetzt habe ich versucht, mit nachstehendem zusammengebastelten Code, diese Tabelle a) nach Access zu schaufeln, b) dann wieder aus Access zurückzuholen nach Blatt2.
Diese db3.mdb hat eine Tabelle, die sich „Tabelle1“ nennt, anfangs 2-Spaltig, dann wurden aber nur die PLZ übertragen, jetzt 3-spaltig, da wurde auch der Ort übertragen.
Insofern klappt an sich der Export nach Access, aber die neuen daten werden immer unten angelegt, witzigerweise in Spalte 2 und 3 der Accesstabelle.
Fangen Fields() bei 0 an?
Beim Import von Access, tut sich nix, kommen keine Daten nach Excel.
Du wanderst ja in der Access und Excelwelt und vielen anderen Welten, so sagt das Oracle in Delphi
, kannst du den Code so modifizieren daß er klappt?
Und auch so daß er ohne „On Error Resume Next“ auskommt.
Über was beschwert sich eigentlich der sicher hilfreiche aber mir grad lästige Debugger wenn man „On Error Resume Next“ wegläßt?
Lieben G und dicken K
Reinhard
Option Explicit
'
Sub ExportNachAccess()
Dim N As Integer
'Verweis auf "Microsoft ActiveX Data Objects 2.7 Library" setzen!
Dim ADODBConnection As New ADODB.Connection, ADODBRecordset As New ADODB.Recordset
ADODBConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= F:\db3.mdb;"
ADODBRecordset.Open "Tabelle1", ADODBConnection, CursorType:=adOpenKeyset, LockType:=adLockOptimistic
On Error Resume Next
For N = 1 To Worksheets(1).UsedRange.Rows.Count
With ADODBRecordset
.AddNew
.Fields(1) = Worksheets(1).Cells(N, 1)
.Fields(2) = Worksheets(1).Cells(N, 2)
.Update
End With
Next N
ADODBRecordset.Close
ADODBConnection.Close
End Sub
'
Sub ImportVonAccess()
'Verweis auf "Microsoft ActiveX Data Objects 2.7 Library" setzen!
Dim ADODBConnection As New ADODB.Connection, ADODBRecordset As New ADODB.Recordset
ADODBConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= F:\db3.mdb;"
On Error Resume Next
With ADODBRecordset
.Open "Tabelle1", ADODBConnection, CursorType:=adOpenKeyset, LockType:=adLockOptimistic
Worksheets(2).Range("A1").CopyFromRecordset ADODBRecordset
End With
ADODBRecordset.Close
ADODBConnection.Close
End Sub