VBA: Recordset FindNext

Guten Abend zusammen,

ich habe versucht mich mit der „Find“-Recordset-Methode anzufreunden, aber leider hat es noch nicht richtig „klick“ gemacht.

Ich habe einen Recordset mit mehreren Personen. In dem Recordset gibt es mehrere Personen mit dem Namen „Meier“.

Über die Funktion „recordset.FindFirst (strCriteria)“ finde ich die erste Person mit dem Namen „Meier“.

Jetzt wollte ich mit der Funktion „recordset.FindNext (strCriteria)“ die nächste Person mit „Meier“ finden.
Das klappt jedoch nicht. Er gibt mir danach immer noch die Daten des ersten Meiers aus.

Habt ihr einen Tipp für mich?

Vielen Dank und schöne Grüße
Jeannine

Hallo,

wenn Du am Anfang des Recordsets stehst, finden sowohl FindFirst und FindNext den ersten zutreffenden Datensatz. Wenn Du danach in derselben Prozedur noch einmal FindNext anwendest, sollte der zweite Datensatz, soweit vorhanden, der aktuelle sein.

Falls es daran nicht liegt, würde es helfen Deinen Code zu sehen.

MfG,

ujk

Hi Ujk,

vielen lieben Dank für deine Antwort.
Hier ist mein verkürzter Quellcode. Wie du siehst suche ich nach „Personal_ID“. Wenn er die von Meier findet, soll er mir die erste Aktivität von Meier in die Excel-Zelle schreiben. Falls es dann von Meier noch einen Datensatz und somit noch eine Aktivät gibt, soll er diese in die Excel-Zelle darunter schreiben.

Leider habe ich in beiden Excel-Zellen nur die erste Aktivität.

With obj_xlsApp
.Workbooks.Add (str_Dateiname)
Set ws = .Worksheets(„Development“)

strCriteria = "[Personal_ID] = " & Form_frm_export.cmb_id

rst_dev.FindNext (strCriteria)
'Export in Excel
ws.Cells(3, 2) = rst_dev!Personal_id
ws.Cells(10, 2) = rst_dev!Activity

rst_dev.FindNext (strCriteria)
ws.Cells(29, 2) = rst_dev!Activity

Hallo,

vielen lieben Dank für deine Antwort.
Hier ist mein verkürzter Quellcode. Wie du siehst suche ich
nach „Personal_ID“. Wenn er die von Meier findet, soll er mir
die erste Aktivität von Meier in die Excel-Zelle schreiben.
Falls es dann von Meier noch einen Datensatz und somit noch
eine Aktivät gibt, soll er diese in die Excel-Zelle darunter
schreiben.

Leider habe ich in beiden Excel-Zellen nur die erste
Aktivität.

und wenn es noch weitere „Meier“ gibt ?

With obj_xlsApp
.Workbooks.Add (str_Dateiname)
Set ws = .Worksheets(„Development“)

strCriteria = "[Personal_ID] = " &
Form_frm_export.cmb_id

Dim lngCell as Long,lngCellx = 3

rst_dev.FindFirst (strCriteria)
Do until rst_dev.Nomatch

'Export in Excel
ws.Cells(lngCellx, 2) = rst_dev!Personal_id
ws.Cells(lngCellx+7, 2) = rst_dev!Activity

rst_dev.FindNext (strCriteria)

lngCellx=lngCellx + 26
Loop

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

PS: kleine Korrektur…

.
.
.
Dim lngCellx as Long
lngCellx = 3
.
.
.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!