Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Carl am März 15, 2018, 18:39:03

Titel: Zyklus
Beitrag von: Carl am März 15, 2018, 18:39:03
Ich habe ein Formular, das beim öffnen eine ID übergeben bekommt. Nur der Datensatz mit dieser ID soll auch erreichbar sein.

Dazu habe ich bei Zyklus:Aktueller Datensatz eingestellt.
Dennoch kann ich mit den PageUP- und PageDown-Tasten die vorhandenen Datensätze durchklicken.

Was könnte noch fehlen? Carl
Titel: Re: Zyklus
Beitrag von: MzKlMu am März 15, 2018, 19:01:23
Hallo,
PageUP- und PageDown kannst Du meines Wisens nicht verhindern. Die sicherste Methode ist das Formular auf den einen Datensatz zu filtern. Dann enthält das Formular nur diesen einen Satz und ein Wechsel auf einen anderen Datensatz ist ausgeschlossen.
Wie wird die ID übergeben ?
Wenn das so passiert wie in Deinem anderen Thema:
Nicht so:
Private Sub weiter_Click()
DoCmd.Save acForm, "frmTNanlegen"
DoCmd.OpenForm "frmFrage000"
   Forms!frmFrage000.Recordset.FindFirst "ID = " & Nz(Me!ID, 0)
End Sub

Sondern einfach so:
Private Sub weiter_Click()
DoCmd.OpenForm "frmFrage000", , , "ID = " & Me.ID
End Sub

Das Formular zeigt dann nur diesen einen Datensatz an.
Das <DoCmd.Save acForm, "frmTNanlegen"> ist sowieso überflüssig, damit werden keine Daten gespeichert.
Auf Nz kannst Du auch verzichten. Me.ID kann ja nicht leer sein. Und wenn doch, darf das Formular erst gar nicht aufgerufen werden. Mit ID=0 aufzurufen macht ja keinen Sinn.



Titel: Re: Zyklus
Beitrag von: Carl am März 15, 2018, 19:58:46
ah, sehr gut! Danke

Funktioniert auf den ersten Versuch.

dass muss man erstmal wissen, das das auch glich filtert.

Carl
Titel: Re: Zyklus
Beitrag von: Beaker s.a. am März 15, 2018, 22:45:13
Hallo Klaus,
ZitatPageUP- und PageDown kannst Du meines Wisens nicht verhindern.
Doch, kann man per Behandlung des Form_KeyDown-Ereignisses
(Tastenvorschau auf JA gesetzt)

If KeyCode = vbKeyPageDown Or KeyCode = vbKeyPageUp Then KeyCode = 0

gruss ekkehard