Hallo,
habe folgendes Problem, wenn ich einen neuen Datensatz anlege, wird zwar die richtige Position angezeigt, aber sobald ich einen Datensatz weiter gehen will, überspingt er den nächsten DAtensatz.
Folgenden Code hab ich beim Übernehmen Button:
' Übernehmen Button: übernimmt die Daten, welche entweder neu angelegt oder nur
' verändert wurden
Public Sub cmdUebernehmen_Click()
On Error GoTo UebernehmenErr
If ADOrs.AbsolutePosition > 0 And mbAddNewFlag = True Then
ADOrs.MoveLast 'Zu letzten (neuem) Datensatz gehen
End If
text1(0).Enabled = False
txtEuro.Enabled = False
txtReDatum.Enabled = False
txtDatum.Enabled = False
txtDatum2.Enabled = False
Combo1.Enabled = False
txtEuro = Replace(txtEuro.Text, ".", "-")
txtEuro = Replace(txtEuro.Text, ",", ".")
txtEuro = Replace(txtEuro.Text, "-", ",")
cmdEdit.Enabled = True
' cmdDelete.Enabled = True
'DatumBerechnen
SetButtons True
cmdUebernehmen.Visible = False
' Neue Datensätze werden angelegt
If mbAddNewFlag = True Then
With ADOrs
.AddNew
ADOrs!Bezeichnung = text1(0)
ADOrs!Betrag = txtEuro
ADOrs!Rechnungsdatum = txtReDatum
ADOrs!Faelligkeit = txtDatum
ADOrs!Haeufigkeit = Combo1
ADOrs!Datum = txtDatum2
ADOrs!Erinnern = Erinnerung
ADOrs!Art = "Wdh"
ADOrs.Update
lblStatus.Caption = "Datensatz: " & CStr(ADOrs.AbsolutePosition)
ButtonsSperren
lfd = ADOrs.AbsolutePosition ' aktuellen Datensatz an den Laufenden
' Zähler übergeben
mvBookMark = ADOrs.Bookmark
ADOrs.Close
ADOrs.Open
ADOrs.AbsolutePosition = mvBookMark
ADOrs.Filter = "Art Like 'Wdh'" ' Finde alle Einträge mit Wdh (
' für Wiederholung)
lfd = ADOrs.AbsolutePosition
Max_Zaehler = ADOrs.RecordCount
ADOrs.AbsolutePosition = ADOrs.EOF
End With
cmdNext.Enabled = False
cmdLast.Enabled = False
End If
' Vorhandene Datensätze werden verändert
If mbAddNewFlag = False Then
ADOrs!Bezeichnung = text1(0)
ADOrs!Betrag = txtEuro
ADOrs!Rechnungsdatum = txtReDatum
ADOrs!Faelligkeit = txtDatum
ADOrs!Haeufigkeit = Combo1
ADOrs!Datum = txtDatum2
ADOrs!Erinnern = Erinnerung
ADOrs!Art = "Wdh"
ADOrs.Update
lblStatus.Caption = "Datensatz: " & CStr(ADOrs.AbsolutePosition)
ButtonsSperren
lfd = ADOrs.AbsolutePosition ' aktuellen Datensatz an den Laufenden
' Zähler übergeben
mvBookMark = ADOrs.Bookmark
ADOrs.Close
ADOrs.Open
ADOrs.Filter = "Art Like 'Wdh'" ' Finde alle Einträge mit Wdh (
' für Wiederholung)
Max_Zaehler = ADOrs.RecordCount
ADOrs.MovePrevious
ADOrs.AbsolutePosition = lfd ' aktuellen Datensatz an den Laufenden
' Zähler übergeben
' Überspringt einen Datensatz bzw. liest die gesamte Tabelle ein
End If
txtEuro = Replace(txtEuro.Text, ",", "-")
txtEuro = Replace(txtEuro.Text, ".", ",")
txtEuro = Replace(txtEuro.Text, "-", ".")
Exit Sub
UebernehmenErr:
MsgBox Err.Description
End Sub Wenn ich die Form so starte, kann ich schon mit der Filter-Eigenschaft navigieren, aber sobald ich einen neuen Datensatz einfüge oder einen Datensatz verändere, gehts nicht mehr.
Hoffe, dass mir jemand von euch helfen kann.
Vielen Dank schon mal für eure Hilfe.
Gruss
Agnes
------------------------------------
Wenn wir heut gemeinsam starten
und wir alle viel erwarten,
denken wir an jedem Tag daran,
dass man es nur schaffen kann,
wenn wir fest zusammen stehen
und den Weg gemeinsam gehen. |