MS Access - Integrierte Funktionen

In diesem Kapitel werden wir mit integrierten Funktionen arbeiten. In Access gibt es fast hundert integrierte Funktionen, und es ist fast unmöglich, jede einzelne davon abzudecken. In diesem Kapitel werden wir die grundlegende Struktur, Syntax und Verwendung einiger der gängigsten Funktionen sowie die Fallstricke behandeln, damit Sie einige der anderen Funktionen selbst erkunden können.

Funktionen

Eine Funktion ist eine VBA-Prozedur, die eine Aufgabe oder Berechnung ausführt und ein Ergebnis zurückgibt. Funktionen können im Allgemeinen in Abfragen verwendet werden, es gibt jedoch auch andere Stellen, an denen Sie Funktionen verwenden können.

  • Sie können Funktionen in Tabelleneigenschaften verwenden. Wenn Sie beispielsweise einen Standardwert für ein Datums- / Uhrzeitfeld angeben möchten, können Sie das Datum oder das Datum verwenden Now Funktion zum Aufrufen der aktuellen Datums- / Uhrzeitinformationen von Ihrem System und zur automatischen Eingabe dieses Werts.

  • Sie können auch Funktionen in einem Ausdruck verwenden, wenn Sie ein berechnetes Feld erstellen, oder die Funktionen in Formular- oder Berichtssteuerelementen verwenden. Sie können Funktionen auch in Makroargumenten verwenden.

  • Funktionen können recht einfach sein, ohne dass andere Informationen aufgerufen werden müssen, oder einfach auf ein Feld aus einer Tabelle oder Abfrage verweisen.

  • Andererseits können sie auch ziemlich kompliziert werden, da mehrere Argumente, Feldreferenzen und sogar andere Funktionen in einer anderen Funktion verschachtelt sind.

Schauen wir uns nun einige Beispiele für die Verwendung integrierter Funktionen an.

Datums- und Uhrzeitfunktionen

Lassen Sie uns nun die Datums- und Uhrzeitfunktionen verstehen -

  • Die Funktion Date () gibt das aktuelle Systemdatum zurück. Diese Funktion erfordert keine Funktionsargumente oder zusätzlichen Informationen. Sie müssen lediglich den Namen der Funktion und die offenen und geschlossenen Klammern schreiben.

  • Es gibt zwei sehr ähnliche integrierte Funktionen Time () und Now ().

  • Die Funktion Time () gibt nur die aktuelle Systemzeit zurück und die Funktion Now () gibt sowohl das aktuelle Systemdatum als auch die aktuelle Uhrzeit zurück.

  • Abhängig von den Daten, die Sie verfolgen, speichern oder abfragen möchten, verfügen Sie über drei integrierte, benutzerfreundliche Funktionen, die Sie bei dieser Aufgabe unterstützen.

Lassen Sie uns jetzt Ihre Datenbank öffnen und eine neue Abfrage mithilfe des Abfragedesigns erstellen und tblProjects und tblTasks hinzufügen.

Fügen Sie ProjectName aus tblProjects und TaskTitle, StartDate und DueDate aus tblTasks hinzu und führen Sie Ihre Abfrage aus.

Sie können jetzt alle verschiedenen Aufgaben aus allen Projekten sehen. Wenn Sie die laufenden Projektaufgaben zum heutigen Datum anzeigen möchten, müssen Sie ein Kriterium mit a angebenDate() Funktion zum Anzeigen von Projekten, die am oder nach dem heutigen Datum beginnen.

Lassen Sie uns nun die Kriterien unter dem StartDate angeben.

Das Kriterium beginnt mit einem Operator greater than symbol, gefolgt von einem equal to symbol und dann Date Function.

Wenn wir diese Abfrage ausführen, werden alle Aufgaben entweder am heutigen Datum oder in der Zukunft ausgeführt, wie im folgenden Screenshot dargestellt.

Dies war ein Beispiel dafür, wie Sie die Funktion Date () als Abfragekriterium verwenden können.

  • Nehmen wir jetzt an, diese Abfrage muss flexibler in Bezug auf die Daten sein, die ab dieser Woche abgerufen werden.

  • Wir haben einige verschiedene Aufgaben, die diese Woche begonnen haben und die aufgrund unserer Kriterien nicht in dieser aktuellen Liste aufgeführt sind. Es geht um Startdaten, die gleich heute oder höher sind.

Wenn wir die Aufgaben anzeigen möchten, die diese Woche begonnen haben, die noch nicht abgeschlossen sind oder heute abgeschlossen sein sollten, kehren wir zur Entwurfsansicht zurück.

Hier werden wir diesen Kriterien einige zusätzliche Informationen hinzufügen. Tatsächlich möchten wir, dass es größer oder gleich dem heutigen Datum minus sieben Tage ist.

Wenn wir minus sieben eingeben und die Abfrage ausführen, können Sie auch die Aufgaben sehen, die diese Woche begonnen haben.

DateDiff () Funktion

Die DateDiff () -Funktion ist eine weitere sehr beliebte Datums- / Zeitfunktion. Die DateDiff-Funktion gibt eine Variante (lang) zurück, die die Anzahl der Zeitintervalle zwischen zwei angegebenen Daten angibt. Mit anderen Worten, es berechnet die Differenz zwischen zwei Daten, und Sie können das Intervall auswählen, in dem die Funktion diese Differenz berechnet.

Nehmen wir jetzt an, wir möchten das Alter unserer Autoren berechnen. Dazu müssen wir zuerst eine neue Abfrage erstellen, unsere Autorentabelle hinzufügen und dann die Felder Vorname, Nachname und BirthDay hinzufügen.

Wir können das Alter der Menschen berechnen, indem wir die Differenz zwischen ihrem Geburts- oder Geburtstagsdatum und dem heutigen Datum berechnen.

Versuchen wir, die DateDiff-Funktion in einem neuen Feld zu verwenden.

Nennen wir es Age gefolgt von einem Doppelpunkt und schreiben dann DateDiff Function.

  • Das erste Funktionsargument für die DateDiff-Funktion ist das Intervall. Geben Sie also "JJJJ" ein.
  • Das nächste Funktionsargument ist das erste Datum, bis zu dem wir berechnen möchten. In diesem Fall ist dies das Feld Geburtstag.
  • Das dritte Funktionsargument ist das heutige Datum.

Führen Sie nun Ihre Abfrage aus und Sie sehen das neue Feld, in dem das Alter jedes Autors angezeigt wird.

Format () Funktion

Die Funktion Format () gibt eine Zeichenfolge zurück, die einen Ausdruck enthält, der gemäß den Anweisungen in einem Formatausdruck formatiert ist. Hier ist die Liste der benutzerdefinierten Formate, die in Format () function.ss verwendet werden können

Rahmen Beschreibung
JJJJ Jahr
q Quartal
m Monat
y Tag des Jahres
d Tag
w Wochentag
ww Woche
h Stunde
n Minute
s Zweite

Kehren wir nun zu Ihrer Abfrage zurück und fügen mit der Funktion Format () weitere Felder hinzu.

Geben Sie die Formatierungsfunktion ein. Das erste Funktionsargument ist ein Ausdruck, der fast alles sein kann. Lassen Sie uns jetzt das Geburtstagsfeld als erstes und als nächstes unser Format schreiben. In diesem Fall brauchen wir Monat, Monat, Tag, Tag. Schreiben Sie "mmdd" in Anführungszeichen und führen Sie dann Ihre Abfrage aus.

Es wird jetzt das Datum aus dem Geburtstagsfeld übernommen, 4 ist der Monat und 17 ist der Tag.

Fügen wir in den nächsten Feldern wie im folgenden Screenshot "mmm" und "mmmm" anstelle von "mmdd" hinzu.

Führen Sie Ihre Abfrage aus und Sie sehen die Ergebnisse wie im folgenden Screenshot.

Im nächsten Feld werden die ersten 3 Zeichen aus dem Namen des Monats für diesen Geburtstag zurückgegeben, und im letzten Feld erhalten Sie den vollständigen Monatsnamen.

Um den Monat gefolgt vom Jahr ab dem Geburtstag zu sehen, fügen wir das "JJJJ" hinzu, wie im folgenden Screenshot gezeigt.

Lassen Sie uns Ihre Anfrage erneut ausführen.

Sie sehen nun den Monat, gefolgt von einem Komma und dann das Jahr.

IIf () Funktion

Die IIf () -Funktion ist eine Abkürzung für "Immediate If". Diese Funktion wertet einen Ausdruck entweder als wahr oder falsch aus und gibt für jeden einen Wert zurück. Es verfügt über bis zu drei Funktionsargumente, die alle erforderlich sind.

  • Das erste Argument ist ein Ausdruck, den Sie auswerten möchten.
  • Das nächste Argument steht für den wahren Teil, der ein Wert oder ein Ausdruck sein kann, der zurückgegeben wird, wenn Ihr erster Ausdruck wahr ist.
  • Das letzte Argument ist das, was Sie zurückgeben möchten, wenn Ihr Ausdruck falsch ist.

Beispiel

Nehmen wir ein einfaches Beispiel. Wir werden eine neue Abfrage mit dem Abfragedesign erstellen, die Tabelle tblAuthors hinzufügen und dann die folgenden Felder hinzufügen.

Sie können jetzt sehen, dass wir drei Felder haben - Vorname, MiddleInitial, Nachname und dann dieses verkettete Feld, das alle drei Felder zusammenführt. Lassen Sie uns Ihre Abfrage ausführen, um das Ergebnis dieser Abfrage anzuzeigen.

Jetzt können Sie das Ergebnis der Abfrage sehen, aber Sie werden auch feststellen, dass einige Datensätze keine mittlere Initiale haben. Zum Beispiel hat der Joyce Dyer-Datensatz keine mittlere Initiale, aber im Feld FullName sehen Sie den Zeitraum, der wirklich nicht vorhanden sein muss. Kehren Sie also zur Entwurfsansicht zurück. Hier werden wir den Namen mit der IIf-Funktion auf andere Weise verketten.

Schreiben wir den Namen in ein anderes Feld, nennen ihn FullName1 und geben dann die IIf-Funktion ein.

  • Das erste Funktionsargument für die Immediate If-Funktion wird Ihr Ausdruck sein. Im Ausdruck sehen wir, ob das mittlere Anfangsfeld leer oder null ist.

  • Das nächste Argument ist der wahre Teil. Wenn also die mittlere Initiale null ist, möchten wir den Vornamen und den Nachnamen anzeigen.

  • Nun zu unserem falschen Teil - wenn das MiddleInitial nicht null ist, möchten wir den Vornamen, das MiddleInitial und den Nachnamen anzeigen.

Lassen Sie uns jetzt Ihre Abfrage ausführen und Sie sehen die Ergebnisse wie im folgenden Screenshot.