Hallo Leute,
ich bin heute mal wieder am verzweifeln. ich bekomme immer einen Laufzeitfehler. Ich schiene mal wieder den Wlad vor lauter Bäumen nicht zu finden. Laufzeitfehler 9 : Indes außerhalb des gültigen Bereichs.
Ich weiß nicht warum, denn an anderer Stelle kein Problem beim befüllen des Arrays mit einer for-Schleife...
Hier der Code:
Dim db As Database
Set db = CurrentDb
Dim rs As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim SQL$
Dim SQL2$
Dim Customer As Long
Dim merker9 As Long
Dim number As Double
Dim I As Long, x As Long
[...]
SQL = " SELECT * FROM qryHaus"
SQL = SQL + " WHERE MitgliedsNr =" & Customer & ""
Set rs = db.OpenRecordset(SQL)
Do Until rs.EOF
rs.Edit
' hier alte Werte!
' hier fehlt z.Zt. noch Code
I = 0
rs!Austritt = Date
rs!Mitgliedsstatus = "Ausgetreten"
rs.Update
' Änderunngshistory füllen
ReDim Preserve myArrayName(I)
ReDim Preserve myArrayExit(I)
myArrayName(I) = "Austritt"
myArrayExit(I) = Date
I = I + 1
myArrayName(I) = Mitgliedsstatus
myArrayExit(I) = "Ausgetreten"
Customer = Me.MitgliedsNr
Referenzfield = "MitgliedsNr"
Referenznumber = Me.MitgliedsNr
Call AuditTrail(I, 1, "tabMitglieder", 10)
rs.MoveNext
Loop
rs.Close
[...]
Nur zur Info, es handelt sich hier um einen Codeauszug, der den Fehler verursacht..., außerdem verursacht AuditTrail sonst auch keine Probleme...
Ich danke schon vorab für eure Unterstützung...
wenn du
I = I + 1
musst du um in das/die Array(s) zu schreiben, diese auch neu Redimensionieren sprich
ReDim Preserve myArrayName(I)
ReDim Preserve myArrayExit(I)
myArrayName(I) = Mitgliedsstatus
myArrayExit(I) = "Ausgetreten"
mir bleibt der inhalt von I = 0 aber erhalten, oder??
ja.
dim EinArray() as Eindatentyp
es gibt 2 Arten ein Array zu redim'men
redim EinArray(neZahl)
das Array wird neu gesetz, vorhandene Daten werden gelöscht
redim preserve EinArray(neZahl)
das Array wird redimensoniert, vorhandene Daten bleiben erhalten