deusfalsus
Erfahrenes Mitglied
Hallo zusammen!
Ich habe das Problem, dass eine Prozedur sich selbst aufrufen muss, dabei aber seine Variablen aus dem ersten Aufruf, der ja noch läuft, überschreibt.
Die Prozedur sieht wie folgt aus:
Das rs wird im zweiten Durchlauf einfach überschrieben.
Kann ich bewerkstelligen, dass jeder weitere Prozeduraufruf in einer eigenen Instanz läuft und ein eigenes Recordset "rs" anlegt, ohne bestehende Variablen zu berühren?
Ich habe das Problem, dass eine Prozedur sich selbst aufrufen muss, dabei aber seine Variablen aus dem ersten Aufruf, der ja noch läuft, überschreibt.
Die Prozedur sieht wie folgt aus:
Code:
Sub checkNachfolger(konserv)
Set db = CurrentDb
'prüfen, ob diese Konserv Nachfolger hat
sql = "SELECT blabla " & _
"FROM blabla " & _
"WHERE blabla;"
Set rs = db.OpenRecordset(sql, dbOpenDynaset)
'Sind keine Nachfolger vorhanden, handelt es sich um ein Endprodukt
If rs.RecordCount = 0 Then
Call checkEndprodukt(konserv)
Call konsinfo_zuordnen
Else
rs.MoveFirst
While Not rs.EOF
Call checkNachfolger(rs(0))
rs.MoveNext
Wend
End If
rs.Close
End Sub
Das rs wird im zweiten Durchlauf einfach überschrieben.
Kann ich bewerkstelligen, dass jeder weitere Prozeduraufruf in einer eigenen Instanz läuft und ein eigenes Recordset "rs" anlegt, ohne bestehende Variablen zu berühren?