Eingebaute Funktionen: Domänenfunktionen

Access bietet eine Menge Funktionen an, die in den Eigenschaften und Ausdrücken von Access-Objekten wie Tabellen, Abfragen, Formularen, Berichten und Makros verwendet werden können. Einige davon dienen der Abfrage von Informationen aus Tabellen und Abfragen – die sogenannten Domänenfunktionen. Entsprechend beginnen die Namen dieser Funktionen mit Dom – wie DomWert, DomMax, DomMin und so weiter. In diesem Artikel zeigen wir, welche Domänenfunktionen es gibt, welche Funktion sie haben und wie Du diese in Deinen eigenen Anwendungen nutzen kannst.

Beispieldatenbank

Die Beispiele dieses Artikels findest Du in der Datenbank EingebauteFunktionen_DLookupUndCo.accdb.

Domänenfunktionen

In Microsoft Access werden Domänenfunktionen verwendet, um Berechnungen über bestimmten Daten zu erstellen, die in Tabellen oder Abfragen gespeichert sind. Diese Funktionen liefern aggregierte Ergebnisse, wie zum Beispiel den maximalen Wert oder die Anzahl der Datensätze, die bestimmten Kriterien entsprechen.

Hier sind die Domänenfunktionen in Access. Vorn steht immer die englische Bezeichnung, in Klammern die deutsche. Wir können grundsätzlich beide als Ausdruck angeben, in der deutschen Version werden die Bezeichnungen jedoch automatisch nach der Eingabe in die deutsche Version geändert:

  • DAvg (DomMittelwert): Berechnet den Durchschnittswert eines bestimmten Felds in einer Tabelle oder Abfrage, basierend auf den angegebenen Kriterien.
  • DCount (DomAnzahl): Ermittelt die Anzahl der Datensätze in einer Tabelle oder Abfrage, die den angegebenen Kriterien entsprechen.
  • DFirst (DomErsterWert): Gibt den ersten Wert eines bestimmten Felds in einer Tabelle oder Abfrage zurück, basierend auf den angegebenen Kriterien.
  • DLast (DomLetzterWert): Gibt den letzten Wert eines bestimmten Felds in einer Tabelle oder Abfrage zurück, basierend auf den angegebenen Kriterien.
  • DLookup (DomWert): Gibt den Wert eines bestimmten Felds aus einer bestimmten Tabelle oder Abfrage zurück, basierend auf den angegebenen Kriterien.
  • DMax (DomMax): Gibt den maximalen Wert eines bestimmten Felds in einer Tabelle oder Abfrage zurück, basierend auf den angegebenen Kriterien.
  • DMin (DomMin): Gibt den minimalen Wert eines bestimmten Felds in einer Tabelle oder Abfrage zurück, basierend auf den angegebenen Kriterien.
  • DSum (DomSumme): Berechnet die Summe eines bestimmten Felds in einer Tabelle oder Abfrage, basierend auf den angegebenen Kriterien.
  • DVar (DomVarianz): Berechnet die Varianz eines bestimmten Felds in einer Tabelle oder Abfrage, basierend auf den angegebenen Kriterien.
  • DVarP (DomVarianzen): Berechnet die populationsbasierte Varianz eines bestimmten Felds in einer Tabelle oder Abfrage, basierend auf den angegebenen Kriterien.
  • DStDev (DomStAbw): Berechnet die Standardabweichung eines bestimmten Felds in einer Tabelle oder Abfrage, basierend auf den angegebenen Kriterien. Die Funktion verwendet die “Stichproben”-Standardabweichung (N-1).
  • DStDevP (DomStAbwn): Berechnet die populationsbasierte Standardabweichung eines bestimmten Felds in einer Tabelle oder Abfrage, basierend auf den angegebenen Kriterien. Die Funktion verwendet die “populations”-basierte Standardabweichung (N).

Diese Domänenfunktionen sind besonders nützlich, wenn du aggregierte Informationen aus deiner Datenbank abfragen möchtest und an beliebigen Stellen weiterverarbeiten oder anzeigen möchtest. Im Folgenden schauen wir uns die verschiedenen Domänenfunktionen im Detail an.

Grundsätzliche Informationen zu Domänenfunktionen

Domänenfunktionen sind eine Vereinfachung zur Erstellung einer SQL-Abfrage zum Ermitteln von Daten. Während SQL-Abfragen jedoch keinen, einen oder mehrere Datensätze zurückliefern können, enthält das Ergebnis einer Domänenfunktion immer nur die Daten eines Datensatzes. Und wir können auch nicht wie in einer SQL-Abfrage eines oder mehrere Felder zurückliefern, sondern müssen alle zu ermittelnden Daten in einem einzigen Ausdruck definieren, der dann als Ergebnis zurückgeliefert wird.

Wir können also beispielsweise nur den Primärschlüsselwert eines Datensatzes zurückliefern, der im Feld Nachname einen bestimmten Wert enthält oder den kleinsten auftretenden Wert im Feld Geburtsdatum einer Tabelle.

Die Domänenfunktionen haben jeweils drei Parameter:

  • Ausdruck: Gibt an, welche Informationen aus der mit dem zweiten Parameter angegebenen Tabelle oder Abfrage gelieferten Datensätzen ermittelt werden sollen. Dabei kann es sich um den Inhalt eines einzelnen Feldes handeln, es können aber auch mehrere Felder zusammengefasst zurückgegeben werden. Im Ausdruck können wir sogar andere eingebaute Funktionen nutzen, um die Ausgabe anzupassen – beispielsweise um die zurückgegebene Zeichenkette zu bearbeiten.
  • Domäne: Enthält die Angabe einer Tabelle oder Abfrage. Diese muss in der aktuellen Datenbank gespeichert sein.
  • Kriterien (optional): Hier können wir die Menge der zurückgegebenen Datensätze einschränken. Dabei verwenden wir einen Ausdruck, der ein oder mehrere Kriterien enthält, die mit Und oder Oder verknüpft sind. Wenn wir kein Kriterium eingeben, durchsucht Access die komplette Abfrage oder Tabelle nach den von der Domänenfunktion zu liefernden Daten.

Hinweise zum Festlegen des Ausdrucks

Der erste Parameter legt fest, welchen Ausdruck die Funktion als Ergebnis berücksichtigen soll. Hier gibt es eine wichtige Unterscheidung. Manche der Domänenfunktionen liefern einfach den Wert des ersten gefundenen Datensatzes zurück, der diesem Ausdruck entspricht.

Dazu gehören DLookup, DMax, DMin, DFirst und DLast. Hier können wir beliebige Ausdrücke zusammenstellen, also zum Beispiel den Inhalt zweier Textfelder mit [Vorname] & ” ” & [Nachname] verbinden oder Berechnungen durchführen wie [Einzelpreis] * [Mehrwertsteuersatz]. Da immer nur der Wert eines dieser Ausdrücke geliefert wird, können diese beliebig gestaltet werden.

Andere liefern berechnete Werte, die sich auf alle Datensätze beziehen, die durch das Kriterium eingeschlossen werden. Dabei handelt es sich um DAvg, DSum, DVar, DVarP, DStDev und DStDevP.

Diese liefern einen berechneten Wert auf Basis des angegebenen Ausdrucks. Es ist daher wichtig, dass der Ausdruck einen numerischen Wert liefert. Für ein Textfeld beispielsweise würden diese Funktionen den Wert #Fehler zurückgeben.

Schließlich gibt es noch die Funktion DCount, die einfach die Anzahl zurückgibt. Bei DCount gibt es wie bei allen anderen Funktionen nur eines zu berücksichtigen – siehe nächster Abschnitt.

Verhalten der Domänenfunktionen beim Wert Null

Wenn eine der Domänenfunktionen, die einen konkreten Wert zurückgibt, auf einen Datensatz trifft, wo dieser Wert Null lautet, wird einfach Null zurückgegeben.

Bei den Funktionen, die Datensätze zählen, Daten summieren oder eine andere der Operationen durchführen, die sich auf die Gesamtheit der durch das Kriterium angegebenen Datensätze beziehen, werden Datensätze mit dem Wert Null im zu untersuchenden Ausdruck ignoriert. Wenn wir also beispielsweise Datensätze zählen wollen und dabei ein Feld als Ausdruck angeben, das in einigen Datensätzen den Wert Null enthält, dann erhalten wir als Ergebnis die Anzahl der Datensätze, in denen dieses Feld gefüllt ist.

Testen der Domänenfunktionen

Wenn Du die Domänenfunktionen ausgiebig testen möchtest, kannst Du das in der Datenbank enthaltene Formular frmDomaenenfunktionen nutzen. Hier gibst Du im oberen Bereich die Werte für die Parameter Ausdruck, Domäne und Kriterium ein (siehe Bild 1). Im unteren Bereich zeigt das Formular dann nicht nur die Ergebnisse der Domänenfunktionen an, sondern auch die Aufrufe. Diese kannst Du direkt mit einem Klick auf das Clipboard-Symbol in die Zwischenablage kopieren, um diese anschließend in die gewünschte Eigenschaft einzufügen.

Formular-Entwurf unseres Beispielformulars

Bild 1: Formular-Entwurf unseres Beispielformulars

Da wir die Domänenfunktionen auch unter VBA einsetzen können, kannst Du mit der Option Ziel wahlweise Ausdruck oder VBA auswählen. Die Syntax für letztere lautet noch ein wenig anders als für die Variante, die in der Benutzeroberfläche eingegeben werden kann.

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar