Lösungen

Hauptsache Hauptformular

Stammdaten schützen

Das Problem besteht also sowohl in der leichten Veränderbarkeit der im Formular angezeigten Stammdaten als auch in der wenig intuitiven Suche. Daher muss die Lösung grundsätzlich im Typ des Hauptformulars ansetzen.

Am besten kennt es gar keine Daten, dann kann es diese auch nicht beschädigen. Erstellen Sie also ein leeres Formular im Entwurf und ohne Datenquelle.

Damit auch optisch nicht der leiseste Verdacht einer Datenbindung aufkommt, stellen Sie ein paar Eigenschaften um:

  • Bildlaufleisten: Nein

  • Datensatzmarkierer: Nein

  • Navigationsschaltflächen: Nein

Anschließend positionieren Sie darauf eine Listbox lstKunden mit den Eigenschaften Spaltenanzahl: 4, Spaltenbreiten: 1cm;6cm;2cm und der Datensatzherkunft: qryKunden. Diese Abfrage qryKunden finden Sie in Listing 1.

SELECT [Kunden-Code], Firma, Ort, Land
FROM Kunden
ORDER BY Firma, Ort

Obwohl das Formular selber gar keine Daten „kennt“, können seine Controls (hier vor allemCombobox und Listbox) selbstverständlich eigene Datenquellen anzeigen. Technisch gesehen befinden sich deren Daten aber in einem kleinen Fenster oberhalb des Formulars. Das Formular kann also in unserem Fall keinen Kunden "sehen".

Erst wenn Sie eine Zeile der Listbox angeklickt haben, erhält diese den Wert der gebundenen Spalte, welche üblicherweise auf 1 steht. Hier wird also der markierte Kunde Blondel père et fils die Wert-Eigenschaft von lstKunden auf BLONP stellen. Und das reicht vollkommen aus, diesen Kunden eindeutig zu identifizieren.

Das so erstellte Formular wird nun unter dem Namen frmKunden (Haupt) gespeichert.