Intelligente Standardwerte
Wenn ich bei meiner Adreßdatenbank unter Access 2.0 mehrere aufeinanderfolgende Datensätze eingebe, kehren oft bestimmte Feldeinträge immer wieder. Es wäre schön, wenn ich diese nicht für jeden Datensatz auf ein neues eingeben müßte. Haben Sie einen Vorschlag, wie sich die Dateneingabe rationalisieren läßt?
Wenn ich bei meiner Adreßdatenbank unter Access 2.0 mehrere aufeinanderfolgende Datensätze eingebe, kehren oft bestimmte Feldeinträge immer wieder. Es wäre schön, wenn ich diese nicht für jeden Datensatz auf ein neues eingeben müßte. Haben Sie einen Vorschlag, wie sich die Dateneingabe rationalisieren läßt?
Um Tipparbeit beispielsweise in Eingabeformularen zu erleichtern, kann Access 2.0 statische Standardwerte zur Verfügung stellen. Dabei handelt es sich um Feldinhalte, die es automatisch in neue Datensätze einfügt. Der Anwender kann diese Werte dann übernehmen oder auch ändern.
Statische Standardwerte definieren Sie in der Tabellenstruktur oder im Formularentwurf. In der Entwurfsansicht einer Tabelle ist für jedes Feld die Eigenschaft `Standardwert´ verfügbar. Dasselbe erreichen Sie im Formularentwurf: Wenn Sie ein Feldobjekt markieren und den Befehl `Ansicht/Eigenschaften´ aufrufen, können Sie den Standardwert für das Objekt definieren. Falls verschiedene Standardwerte für Tabelle und Formular existieren, hat im Formular der dortige Standardwert Vorrang.
Die statischen Standardwerte bleiben jedoch immer gleich. Wenn Sie mehrere Adressen einer Stadt oder einer Firma eingeben, ist es oft nützlicher, den vorherigen Datensatz als dynamischen Standardwert zu benutzen. Sie brauchen dann nur die Änderungen einzutragen. Das erreichen Sie mit einem kleinen Access-Basic-Modul. Rufen Sie den Befehl `Datei/Neues Objekt erstellen/Modul´ auf und geben Sie folgende Funktion ein:
Function GetLast (objektname As String)
Dim f As Form
Dim ds As Dynaset
Set f = Screen.Activeform
Set ds = f.Dynaset
ds.MoveLast GetLast = ds(objektname)
ds.Close
End Function
Die Funktion GetLast() greift auf den vorherigen Datensatz zu und gibt den Inhalt des angegebenen Formularfeldes zurück. Setzen Sie die Eigenschaft `Standardwert´ für die gewünschten Felder auf `=GetLast(`´)´. Access verwendet dann den Feldinhalt des vorherigen Datensatzes als Standardwert für den folgenden. (Ralf Gladis/ps)
(ps)