Ich möchte gerne ausgewählte Datensätze aus meiner Access-Datenbank in Excel anzeigen, weil ich mich in Excel-VBA viel besser auskenne, als in Access-VBA.
Mit Hilfe dieses Codes schaffe ich schon mal, dass mir Daten aus Access in Excel angezeigt werden, die mit dem jeweiligen Kriterium in Spalte A in Excel übereinstimmen.
(diesen Code fand ich in https://www.herber.de/forum/archiv/632to636/t632809.htm )
Option Explicit
' benötigt im VBA einen Verweis auf M$ DAO x.y Object Library !!!
Const dbfile As String = "d:\daten\excel\beispiele\data\artikel.mdb"
Private Sub cmdRead_Click()
Dim dbs As Database ' Datenbank
Dim qdf As QueryDef ' Datenbankabfrage
Dim rec As Recordset ' Ergebnis der Datenbankabfrage
Dim mysql As String ' ein SQL-Befehl
Dim mynum As Long ' die aktuelle Artikelnummer
Dim i As Long ' Zeilennummer
Set dbs = OpenDatabase(dbfile)
With dbs
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
mynum = CLng(Val(Cells(i, 1).Value))
mysql = "SELECT Preis FROM Artikel WHERE Artikelnummer = " & mynum & ";"
Set qdf = .CreateQueryDef("", mysql)
' Ergebnis der Abfrage holen
Set rec = qdf.OpenRecordset(dbOpenSnapshot)
If Not rec.EOF Then
Cells(i, 2).Value = rec.Fields(0).Value
End If
Next
End With
dbs.Close
End Sub
Aber dieser Code liefert mir jeweils NUR EINEN Datensatz.
Wie muss der Code geändert werden, damit mir ALLE Datensätze aus Access in Excel angezeigt werden, die dem jeweiligen Kriterium in Spalte A entsprechen?
Ich bin fast sicher, im Archiv gibt es eine Lösung. Aber ich weiß nicht, wonach ich suchen muss.
Vielen Dank für eure Hilfe!
Ciao
Thorsten