Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: zoulhh am Februar 03, 2017, 10:43:27

Titel: DoCmd.RunCommand acCmdRecordsGoToFirst
Beitrag von: zoulhh am Februar 03, 2017, 10:43:27

Moin zusammen,

warum bewirkt der VBA Befehl

    DoCmd.RunCommand acCmdRecordsGoToFirst

dass erst zu einem neuen (leeren) Datensatz, und erst bei nochmaligem Aufruf wirklich zum ERSTEN Datensatz in der Datenbank gesprungen wird? Und wie kann ich verhindern, dass erst zu einem neuen (leeren, ungespeicherten) Datensatz gesprungen wird?

Vielen Dank.

LGM
Titel: Re: DoCmd.RunCommand acCmdRecordsGoToFirst
Beitrag von: zoulhh am Februar 03, 2017, 10:47:19
KORREKTUR:

    DoCmd.RunCommand acCmdRecordsGoToNext

bewirkt das Problem. Es wird korrekt durch die Datensätze gegangen, aber eben auch ein leerer, neuer Datensatz als "next" betrachtet und dann erst kommt kein Datensatz mehr.

Nochmals danke.

LGM
Titel: Re: DoCmd.RunCommand acCmdRecordsGoToFirst
Beitrag von: DF6GL am Februar 03, 2017, 10:55:25
Hallo,

welches Problem hast Du nun?

Wenn gleich zum ersten DS (im Formular-Recordset) gesprungen werden soll, dann benutz:

Docmd.GotoRecord,,acFirst

zum letzten DS:
Docmd.GotoRecord,,acLast

zum neuen DS:
Docmd.GotoRecord,,acNewRec

weitere siehe VBA-Hilfe oder IntelliSense..
Titel: Re: DoCmd.RunCommand acCmdRecordsGoToFirst
Beitrag von: MzKlMu am Februar 03, 2017, 10:59:57
Hallo,
@Franz
es gab ja eine Korrektur.
@zoulhh
Wenn das Formular neue DS zulässt, so kommt nach dem letzten DS ein neuer DS, das ist normales Verhalten.
Du hast jetzt 2 Möglichkeiten. Formular für neue DS sperren und nur bei Notwendigkeit freigeben.
Oder im Code auf neuen DS prüfen und wenn ja wieder von vorn anfangen.