Bestimmter Accessdatensatz in Exel ausgeben
#1
Hi,
wieder mal eine kleine Frage zu meinen Übungsaufgaben. Als Übungsaufgabe war vorgegeben, dass ich eine Tabelle aus Access in Excel übernehmen soll. Das habe ich auch hinbekommen.

Jetzt wollte ich versuchen, einen bestimmten Datensatz anhand der ID zu filtern, bekomme es aber nicht hin.

Hier mal meine funktionierender Code

Code:
Function DatenVonAccessHolen()

'Alte Daten im Blatt löschen (Zieltabelle2)
Worksheets("Zieltabelle2").Activate
Cells.Select
Selection.Clear

' Variablen definieren
Dim DBFullName As String
Dim connect As String
Dim source As String
Dim Connection As ADODB.Connection
Dim RecordSet As ADODB.RecordSet
Dim Col As Integer


DBFullName = "H:\Umsetzung\Datenbankordner\Database1-AL.accdb"


Set Connection = New ADODB.Connection
connect = "Provider=Microsoft.ACE.OLEDB.12.0;"
connect = connect & "Data Source=" & DBFullName & ";"
Connection.Open ConnectionString:=connect


Set RecordSet = New ADODB.RecordSet
With RecordSet
' ab hier irgendwie filtern?? ID
source = "Select * From AntragslisteAbfrage"
.Open source:=source, ActiveConnection:=Connection


For Col = 0 To RecordSet.Fields.Count - 1
    Range("A1").Offset(0, Col).Value = RecordSet.Fields(Col).Name
Next
' Daten aus Access in Excel in den Zeilen schreiben
' Offset (Zeile,Spalte) = Ab welcher Zeile und Spalte die Daten eingetragen werden sollen
Range("A1").Offset(1, 0).CopyFromRecordset RecordSet

End With

ActiveSheet.Columns.AutoFit

Set RecordSet = Nothing
Connection.Close
Set Connection = Nothing

Dim y As Integer
Dim i As Integer

'I ist die Zeile

y = 0
i = 2

Do While Not IsEmpty(Cells(i, 3))

y = y + 1
i = i + 1
Loop

MsgBox "Es wurden improtiert" & y

End Function

Wie müsste ich den abändern, wenn ich nur die ID1 in das Datenblatt übernehmen möchte?? Ich hab keine Idee!

Gruß
Roy
Top
#2
dazu benötigst du eine Änderung deiner SQL abfrage

in etwa so "Select * From AntragslisteAbfrage where ID = xyz"  

https://www.w3schools.com/sql/sql_where.asp
[-] Folgende(r) 1 Nutzer sagt Danke an ralf_b für diesen Beitrag:
  • Royalty
Top
#3
(04.04.2021, 00:19)ralf_b schrieb: dazu benötigst du eine Änderung deiner SQL abfrage

in etwa so "Select * From AntragslisteAbfrage where ID = xyz"  

https://www.w3schools.com/sql/sql_where.asp

Vielen Dank für den Tipp. Hat geklappt Wink
Gruß
Roy
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste