Hallo,
ich habe in meiner Access-Datenbank Tabelle eine Tabelle mit etwas über 1000 Datensätzen. Wenn ich in meinem Code „rs.MoveLast“ schreibe, funktioniert das auch. Aber nur bis zu einer gewissen grenze von datensätzen. Nachdem ich einige neue Datensätze hinzugefügt habe(bis jetzt sind dort 1147 Datensätze), funktioniert das nicht mehr. Er geht immer nur bis zum vorletzten Datensatz und den letzten sieht er nicht mehr. Ich habe schon vieles versucht(Stopen von MySQL, den PC herunter gefahren, den Code versucht zu ändern) aber irgendiw komme ich nicht zu einem Ergebniss!
Hier mal einen Teil meines Codes:
.
.
.
rs1.CursorLocation = adUseClient
rs1.Open „Select * from Reparatur_Verwaltung“, cnsql, adOpenDynamic, adLockOptimistic
rs2.CursorLocation = adUseClient
rs2.Open „Select * from WinSys“, cnsql, adOpenDynamic, adLockPessimistic
With rs3
'Festlegen des benutzten Index der Datensatzgruppe.
Rem .Index = „Primärschlüssel“
'Legt den Ort des Cursors fest.
.CursorLocation = adUseClient
'Öffnet die Datensatzgruppe.
.Open „Current_User“, cnjet, adOpenKeyset, adLockOptimistic, adCmdTableDirect
End With
rs4.CursorLocation = adUseClient
rs4.Open „Select * from Firmen_informationen“, cnsql, adOpenDynamic, adLockPessimistic
If rs1.RecordCount = 0 Then
Nr = rs2(„RepNr_von“) + 1
If Nr = 0 Then
MsgBox „Es ist ein Fehler aufgetreten! Erfassung wird abgebrochen! Bitte erneut versuchen!“, vbCritical, AppName
GoTo Ende:
End If
rs1.AddNew
rs1(„RepNr“) = Nr
rs1(„Erfasser“) = rs3(„User“)
rs1(„Eingangs_Datum“) = Date
rs1(„Verpackung“) = „3“
rs1(„Status“) = „1“
rs1(„Ersatzteilpreis“) = 0
rs1(„Arbeitszeit“) = 0
rs1(„Pauschalpreis“) = 0
rs1(„Versandkosten“) = 0
rs1(„Gesamtpreis“) = 0
rs1(„Garantie“) = 0
rs1(„Kostenvoranschlag“) = 0
rs1(„Reklamation“) = 0
rs1(„timestamp“) = Now
rs1.Update
Else
rs1.MoveLast 'hier ist das Problem !!!
Nr = rs1(„RepNr“)
Nr = Nr + 1
If Nr = 0 Then
MsgBox „Es ist ein Fehler aufgetreten! Erfassung wird abgebrochen! Bitte erneut versuchen!“, vbCritical, AppName
GoTo Ende:
End If
If Nr >= rs2(„RepNr_bis“) - 10 Then
MsgBox „Es sind fast keine Reparatur- Nummern mehr frei, bitte den Datenbank- Administrator kontaktieren!“, vbCritical, AppName
End If
rs1.AddNew
rs1(„RepNr“) = Nr
rs1(„Erfasser“) = rs3(„User“)
rs1(„Eingangs_Datum“) = Date
rs1(„Verpackung“) = „3“
rs1(„Status“) = „1“
rs1(„Ersatzteilpreis“) = 0
rs1(„Arbeitszeit“) = 0
rs1(„Pauschalpreis“) = 0
rs1(„Versandkosten“) = 0
rs1(„Gesamtpreis“) = 0
rs1(„Garantie“) = 0
rs1(„Kostenvoranschlag“) = 0
rs1(„Reklamation“) = 0
rs1(„timestamp“) = Now
rs1.Update
End If
.
.
.
Ich hoffe mir kann jemand bei diesem Problem helfen.
Gruß Matthias