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"

Wiki-Links