Access Anfänger: Formular öffnen, und zu bestimmtem Datensatz springen

Aus DBWiki
Wechseln zu: Navigation, Suche

Aufgabenstellung

Ich möchte ein Formular mit allen Datensätzen öffnen, und gleich beim Öffnen zu einem bestimmten Datensatz springen. Das Formular wird dabei nicht gefiltert.

Lösung

Mit folgendem Code-Beispiel wird das Formular Bestellungen geöffnet, und zum Datensatz mit der BestellNr 10280 gesprungen, d.h. der gewünschte Datensatz wird in der Gesamtliste der Datensätze gesucht.

   DoCmd.OpenForm "Bestellungen"
   'Bestell-Nr direkt angeben
   Forms!Bestellungen.Recordset.FindFirst "BestellNr = 10280"

Alternativ kann die gesuchte BestellNr aus einem Formularfeld des aufrufenden Formulars ausgelesen werden.

   DoCmd.OpenForm "Bestellungen"
   'Bestell-Nr aus einem Formularfeld des aufrufenden Formulars auslesen
   Forms!Bestellungen.Recordset.FindFirst "BestellNr = " & Me.BestellNr

Wenn das Formular Bestellungen ein Popup-Formular ist, ist es sinnvoll, zusätzlich die Formularhöhe anzupassen, z.B. auf 10 cm.

   'bei einem Popup-Formular Höhe anpassen, z.B. 10 cm Höhe (entspricht 5670 Twips)
   DoCmd.MoveSize , , , 5670

Alternative Möglichkeit: Filtern

Im Gegensatz zum Springen zu einem Datensatz (=Suchen nach einem Datensatz) kann das Formular auch nach der BestellNr gefiltert geöffnet werden. Es werden dann nur die Datensätze angezeigt, die den Filterbedingungen entsprechen.

   DoCmd.OpenForm "Bestellungen", , , "BestellNr = 10280"

Wikilinks