Saturday, July 2, 2022

Leitfaden zur Ausdruckssyntax

Wenn Sie Microsoft Access verwenden, müssen Sie häufig mit Werten arbeiten, die nicht direkt in Ihren Daten enthalten sind. Sie möchten beispielsweise die Mehrwertsteuer auf eine Bestellung berechnen oder den Gesamtwert der Bestellung selbst berechnen. Sie können diese Werte mithilfe von Ausdrücken berechnen. Um Ausdrücke zu verwenden, schreiben Sie sie mit der richtigen Syntax. Syntax ist der Satz von Regeln, nach denen die Wörter und Symbole in einem Ausdruck richtig kombiniert werden. Anfangs sind Ausdrücke in Access etwas schwer zu lesen. Aber mit einem guten Verständnis der Ausdruckssyntax und ein wenig Übung wird es viel einfacher.

In diesem Artikel

Übersicht der Ausdrücke

Ein Ausdruck ist eine Kombination aus einigen oder allen der folgenden: integrierte oder benutzerdefinierte Funktionen, Bezeichner, Operatoren, Werte und Konstanten, die zu einem einzelnen Wert ausgewertet werden.

Die Komponenten eines Ausdrucks

Der folgende Ausdruck enthält beispielsweise gemeinsame Komponenten:

 =Sum([Purchase Price])*0.08
  • Sum() ist eine eingebaute Funktion

  • [Kaufpreis] ist eine Kennung

  • * ist ein mathematischer Operator

  • 0,08 ist eine Konstante

Dieser Ausdruck kann in einem Textfeld in einem Formularfuß oder Berichtsfuß verwendet werden, um die Mehrwertsteuer für eine Gruppe von Artikeln zu berechnen.

Ausdrücke können viel komplexer oder viel einfacher sein als in diesem Beispiel. Dieser boolesche Ausdruck besteht beispielsweise nur aus einem Operator und einer Konstante:

 >0

Dieser Ausdruck gibt Folgendes zurück:

  • Wahr , wenn es mit einer Zahl verglichen wird, die größer als 0 ist.

  • False , wenn es mit einer Zahl verglichen wird, die kleiner als 0 ist.

Sie können diesen Ausdruck in der Eigenschaft Validierungsregel eines Steuerelements oder Tabellenfelds verwenden, um sicherzustellen, dass nur positive Werte eingegeben werden. Ausdrücke werden an vielen Stellen verwendet, um Berechnungen durchzuführen, Zeichen zu manipulieren oder Daten zu testen. Tabellen, Abfragen, Formulare, Berichte und Makros haben alle Eigenschaften, die einen Ausdruck akzeptieren. Beispielsweise können Sie Ausdrücke in den Eigenschaften Steuerelementquelle und Standardwert für ein Steuerelement verwenden. Sie können auch Ausdrücke in der Eigenschaft „Validierungsregel" für ein Tabellenfeld verwenden.

Seitenanfang

Bestandteile von Ausdrücken

Um einen Ausdruck zu erstellen, kombinieren Sie Bezeichner mithilfe von Funktionen, Operatoren, Konstanten und Werten. Jeder gültige Ausdruck muss mindestens eine Funktion oder mindestens einen Bezeichner enthalten und kann auch Konstanten oder Operatoren enthalten. Sie können einen Ausdruck auch als Teil eines anderen Ausdrucks verwenden – normalerweise als Argument einer Funktion. Dies wird als Verschachteln eines Ausdrucks bezeichnet.

  • Identifikatoren Die allgemeine Form ist:

     [Sammlungsname]![Objektname].[Eigenschaftsname]

    Sie müssen nur genügend Teile eines Bezeichners angeben, um ihn im Kontext Ihres Ausdrucks eindeutig zu machen. Es ist nicht ungewöhnlich, dass ein Bezeichner die Form [Objektname] hat.

  • Funktionen Die allgemeine Form ist:

     Funktion(Argument, Argument)

    Eines der Argumente ist normalerweise ein Bezeichner oder ein Ausdruck. Einige Funktionen erfordern keine Argumente. Bevor Sie eine bestimmte Funktion verwenden, überprüfen Sie die Syntax dieser Funktion. Weitere Informationen finden Sie unter Funktionen (sortiert nach Kategorie) .

  • Operatoren Die allgemeine Form ist:

     Bezeichner Operator-Bezeichner

    Es gibt Ausnahmen von diesem Formular, wie im Abschnitt „ Operatoren " beschrieben.

  • Konstanten Die allgemeine Form ist:

     Bezeichner Vergleichsoperator-Konstante 
  • Werte Werte können an vielen Stellen in einem Ausdruck vorkommen.

Seitenanfang

Objekte, Sammlungen und Eigenschaften

Alle Tabellen, Abfragen, Formulare, Berichte und Felder in einer Access-Datenbank werden einzeln als Objekte bezeichnet. Jedes Objekt hat einen Namen. Einige Objekte sind bereits benannt, z. B. die Kontakttabelle in einer Datenbank, die aus der Microsoft Office Access-Kontaktvorlage erstellt wurde. Wenn Sie ein neues Objekt erstellen, geben Sie ihm einen Namen.

Die Menge aller Mitglieder eines bestimmten Objekttyps wird als Sammlung bezeichnet. Beispielsweise ist die Menge aller Tabellen in einer Datenbank eine Sammlung. Einige Objekte, die Mitglieder einer Sammlung in Ihrer Datenbank sind, können auch Sammlungen sein, die andere Objekte enthalten. Beispielsweise ist ein Tabellenobjekt eine Sammlung, die Feldobjekte enthält.

Objekte haben Eigenschaften , die die Eigenschaften des Objekts beschreiben und eine Möglichkeit bieten, diese zu ändern. Beispielsweise hat ein Abfrageobjekt eine Standardansichtseigenschaft , die sowohl beschreibt als auch Ihnen ermöglicht, festzulegen, wie die Abfrage angezeigt wird, wenn Sie sie ausführen.

Das folgende Diagramm veranschaulicht die Beziehung zwischen Sammlungen, Objekten und Eigenschaften:

Beziehungen von Sammlungen zu Objekten zu Eigenschaften

3 Eine Eigenschaft

2 Ein Objekt

1 Eine Sammlung

Seitenanfang

Identifikatoren

Wenn Sie ein Objekt, eine Sammlung oder eine Eigenschaft in einem Ausdruck verwenden, verweisen Sie auf dieses Element, indem Sie einen Bezeichner verwenden. Ein Bezeichner enthält den Namen des Elements, das Sie identifizieren, sowie den Namen des Elements, zu dem es gehört. Beispielsweise enthält der Bezeichner für ein Feld den Namen des Felds und den Namen der Tabelle, zu der das Feld gehört. Ein Beispiel für eine solche Kennung ist:

 [Customers]![BirthDate]

In einigen Fällen fungiert der Name eines Elements allein als Bezeichner. Dies trifft zu, wenn der Name des Elements im Kontext des Ausdrucks, den Sie erstellen, eindeutig ist. Der Rest des Bezeichners wird durch den Kontext impliziert. Wenn Sie beispielsweise eine Abfrage entwerfen, die nur eine Tabelle verwendet, funktionieren die Feldnamen allein als Bezeichner, da die Feldnamen in einer Tabelle in dieser Tabelle eindeutig sein müssen. Da Sie nur eine Tabelle verwenden, ist der Tabellenname in jedem Bezeichner enthalten, den Sie in der Abfrage verwenden, um auf ein Feld zu verweisen.

In anderen Fällen müssen Sie die Teile eines Bezeichners explizit angeben, damit ein Verweis funktioniert. Dies gilt, wenn ein Bezeichner im Kontext des Ausdrucks nicht eindeutig ist. Bei Mehrdeutigkeit müssen Sie genügend Teile des Bezeichners explizit angeben, um ihn im Kontext eindeutig zu machen. Angenommen, Sie entwerfen eine Abfrage, die eine Tabelle mit dem Namen Products und eine Tabelle mit dem Namen Orders verwendet, und beide Tabellen haben ein Feld mit dem Namen ProductID . In einem solchen Fall muss der Bezeichner, den Sie in der Abfrage verwenden, um auf eines der ProductID -Felder zu verweisen, zusätzlich zum Feldnamen den Tabellennamen enthalten. Zum Beispiel:

 [Products]![ProductID]

Bezeichneroperatoren Es gibt drei Operatoren, die Sie in einem Bezeichner verwenden können:

  • Der Bang-Operator ( ! )

  • Der Punktoperator ( . )

  • Der eckige Klammeroperator ( [ ] )

Sie verwenden diese Operatoren, indem Sie jeden Teil des Bezeichners in eckige Klammern setzen und sie dann mit einem „Bang"- oder einem Punktoperator verbinden. Beispielsweise kann ein Bezeichner für ein Feld mit dem Namen „Nachname" in einer Tabelle mit dem Namen „Employees" als [Employees]![Last Name] ausgedrückt werden. Der Bang-Operator teilt Access mit, dass das Folgende ein Objekt ist, das zu der Auflistung gehört, die dem Bang-Operator vorausgeht. In diesem Fall ist [Nachname] ein Feldobjekt, das zur Sammlung [Mitarbeiter] gehört, die selbst ein Tabellenobjekt ist.

Streng genommen müssen Sie nicht immer eckige Klammern um einen Bezeichner oder Teilbezeichner schreiben. Wenn der Bezeichner keine Leerzeichen oder andere Sonderzeichen enthält, fügt Access beim Lesen des Ausdrucks automatisch die Klammern hinzu. Es empfiehlt sich jedoch, die Klammern selbst einzugeben – dies hilft Ihnen, Fehler zu vermeiden, und dient auch als visueller Hinweis darauf, dass ein bestimmter Teil eines Ausdrucks ein Bezeichner ist.

Seitenanfang

Funktionen, Operatoren, Konstanten und Werte

Um einen Ausdruck zu erstellen, benötigen Sie mehr als Bezeichner – Sie müssen irgendeine Aktion ausführen. Sie verwenden Funktionen, Operatoren und Konstanten, um Aktionen in einem Ausdruck auszuführen.

Funktionen

Eine Funktion ist eine Prozedur, die Sie in einem Ausdruck verwenden können. Einige Funktionen, wie z. B. Datum, erfordern keine Eingabe, um zu funktionieren. Die meisten Funktionen erfordern jedoch Eingaben, sogenannte Argumente.

Im Beispiel am Anfang dieses Artikels verwendet die DatePart-Funktion zwei Argumente: ein Intervallargument mit dem Wert „yyyy" und ein Datumsargument mit dem Wert [Customers]![BirthDate] . Die DatePart-Funktion erfordert mindestens diese beiden Argumente (Intervall und Datum), kann aber bis zu vier Argumente akzeptieren.

Die folgende Liste zeigt einige Funktionen, die häufig in Ausdrücken verwendet werden. Klicken Sie auf den Link für jede Funktion, um weitere Informationen über die Syntax zu erhalten, die Sie mit dieser Funktion verwenden.

  • Die Datumsfunktion wird verwendet, um das aktuelle Systemdatum in einen Ausdruck einzufügen. Es wird häufig mit der Formatfunktion verwendet und wird auch mit Feldbezeichnern für Felder verwendet, die Datums-/Uhrzeitdaten enthalten.

     =Datum() 
  • Die DatePart- Funktion wird verwendet, um einen Teil eines Datums zu bestimmen oder zu extrahieren – normalerweise ein Datum, das von einem Feldbezeichner abgerufen wird, aber manchmal ein Datumswert, der von einer anderen Funktion wie Date zurückgegeben wird.

     DatePart ("yyyy", Date()) 
  • Die DateDiff- Funktion wird verwendet, um die Differenz zwischen zwei Datumsangaben zu bestimmen – normalerweise zwischen einem Datum, das von einem Feldbezeichner abgerufen wird, und einem Datum, das mithilfe der Date-Funktion abgerufen wird.

     =DateDiff("d", Now(), [Bestellungen].[ReceiveBefore])-10 
  • Die FunktionFormat wird verwendet, um ein Format auf einen Bezeichner und die Ergebnisse einer anderen Funktion anzuwenden.

     Format([Datum],"ww")=Format(Jetzt(),"ww")-1 
  • Die IIf -Funktion wird verwendet, um einen Ausdruck als wahr oder falsch auszuwerten und dann einen Wert zurückzugeben, wenn der Ausdruck als wahr ausgewertet wird, und einen anderen Wert, wenn der Ausdruck als falsch ausgewertet wird.

     =IIf([CountryRegion]="Italien", "Italienisch", "Einige andere Sprache") 
  • Die InStr- Funktion wird verwendet, um nach der Position eines Zeichens oder einer Zeichenfolge innerhalb einer anderen Zeichenfolge zu suchen. Die gesuchte Zeichenfolge wird normalerweise aus einem Feldbezeichner erhalten.

     InStr(1,[IPAdresse],."") 
  • Die Funktionen Left , Mid und Right werden verwendet, um Zeichen aus einer Zeichenfolge zu extrahieren, beginnend mit dem Zeichen ganz links (Left), einer bestimmten Position in der Mitte (Mid) oder mit dem Zeichen ganz rechts (Right). Sie werden häufig mit der InStr-Funktion verwendet. Die Zeichenfolge, aus der diese Funktionen Zeichen extrahieren, wird normalerweise aus einem Feldbezeichner erhalten.

     Links([Produktname], 1)  Rechts([AssetCode], 2)   Mittel([Telefon],2,3)   

Eine Liste der Funktionen finden Sie unter Funktionen (geordnet nach Kategorie) .

Betreiber

Ein Operator ist ein Wort oder Symbol, das eine bestimmte arithmetische oder logische Beziehung zwischen den anderen Elementen eines Ausdrucks angibt. Operatoren können sein:

  • Arithmetik , wie das Pluszeichen ( + ).

  • Vergleich , wie das Gleichheitszeichen ( = ).

  • Logisch , wie z. B. Nicht .

  • Verkettung , wie z. B. & .

  • Spezielle , wie z. B. Like .

Operatoren werden im Allgemeinen verwendet, um eine Beziehung zwischen zwei Bezeichnern anzuzeigen. In den folgenden Tabellen werden die Operatoren beschrieben, die Sie in Access-Ausdrücken verwenden können.

Arithmetik

Die arithmetischen Operatoren verwenden Sie, um aus zwei oder mehr Zahlen einen Wert zu berechnen oder das Vorzeichen einer Zahl von positiv auf negativ zu ändern.

Operator

Zweck

Beispiel

+

Summiere zwei Zahlen.

[Zwischensumme]+[Umsatzsteuer]

-

Finden Sie die Differenz zwischen zwei Zahlen oder geben Sie den negativen Wert einer Zahl an.

[Preis]-[Rabatt]

*

Multipliziere zwei Zahlen.

[Menge]*[Preis]

/

Teilen Sie die erste Zahl durch die zweite Zahl.

[Gesamt]/[ItemCount]

\

Runde beide Zahlen auf ganze Zahlen, dividiere die erste Zahl durch die zweite Zahl und kürze dann das Ergebnis auf eine ganze Zahl.

[Registriert]\[Räume]

Mod

Teilen Sie die erste Zahl durch die zweite Zahl und geben Sie nur den Rest zurück.

[Registriert] Mod [Räume]

^

Potenzieren Sie eine Zahl mit einem Exponenten.

Zahl ^ Exponent

Vergleich

Sie verwenden die Vergleichsoperatoren, um Werte zu vergleichen und ein Ergebnis zurückzugeben, das entweder wahr, falsch oder Null (ein unbekannter Wert) ist.

Operator

Zweck

<

Bestimmen Sie, ob der erste Wert kleiner als der zweite Wert ist.

<=

Bestimmen Sie, ob der erste Wert kleiner oder gleich dem zweiten Wert ist.

>

Bestimmen Sie, ob der erste Wert größer als der zweite Wert ist.

>=

Bestimmen Sie, ob der erste Wert größer oder gleich dem zweiten Wert ist.

=

Bestimmen Sie, ob der erste Wert gleich dem zweiten Wert ist.

<>

Bestimmen Sie, ob der erste Wert nicht gleich dem zweiten Wert ist.

Wenn entweder der erste Wert oder der zweite Wert Null ist, ist das Ergebnis in allen Fällen auch Null . Da Null einen unbekannten Wert darstellt, ist das Ergebnis eines Vergleichs mit Null ebenfalls unbekannt.

Logisch

Sie verwenden die logischen Operatoren, um zwei Werte zu kombinieren und entweder ein wahres, falsches oder Null-Ergebnis zurückzugeben. Möglicherweise sehen Sie auch die logischen Operatoren, die als boolesche Operatoren bezeichnet werden.

Operator

Verwendungszweck

Beschreibung

Und

Ausdruck1 und Ausdruck2

Wahr, wenn Ausdr1 und Ausdr2 wahr sind.

Oder

Ausdruck1 oder Ausdruck2

Wahr, wenn entweder Ausdr1 oder Ausdr2 wahr ist.

Gl

Ausdr1 Eqv Ausdr2

Wahr, wenn sowohl Ausdr1 als auch Ausdr2 wahr sind oder sowohl Ausdr1 als auch Ausdr2 falsch sind.

Nicht

Nicht expr

Wahr, wenn Ausdr nicht wahr ist.

Xor

Ausdruck1 Xoder Ausdruck2

Wahr, wenn entweder Ausdr1 wahr ist oder Ausdr2 wahr ist, aber nicht beides.

Verkettung

Sie verwenden die Verkettungsoperatoren, um zwei Textwerte zu einer Zeichenfolge zu kombinieren.

Operator

Verwendungszweck

Beschreibung

&

Zeichenfolge1 und Zeichenfolge2

Kombiniert zwei Saiten zu einer Saite.

+

Zeichenfolge1 + Zeichenfolge2

Kombiniert zwei Strings zu einem String und gibt Nullwerte weiter.

Speziell

Sie verwenden die speziellen Operatoren wie in der folgenden Tabelle beschrieben.

Operator

Beschreibung

Für mehr Informationen

Ist Null oder Ist nicht Null

Bestimmt, ob ein Wert Null oder Not Null ist.

Wie "Muster"

Entspricht Zeichenfolgenwerten mithilfe von Platzhalteroperatoren ? und * .

Wie Operator

Zwischen val1 und val2

Bestimmt, ob ein numerischer Wert oder ein Datumswert in einen Bereich fällt.

Zwischen ... und Betreiber

Ein (String1,String2...)

Bestimmt, ob ein Zeichenfolgenwert in einem Satz von Zeichenfolgenwerten enthalten ist.

Im Betreiber

Konstanten

Eine Konstante ist ein bekannter Wert, der sich nicht ändert und den Sie in einem Ausdruck verwenden können. Es gibt vier häufig verwendete Konstanten in Access:

  • True zeigt etwas an, das logisch wahr ist.

  • False zeigt etwas an, das logisch falsch ist.

  • Null zeigt das Fehlen eines bekannten Werts an.

  • "" (leerer String) zeigt einen Wert an, der bekanntermaßen leer ist.

Konstanten können als Argumente für eine Funktion und in einem Ausdruck als Teil eines Kriteriums verwendet werden. Beispielsweise können Sie die leere Zeichenfolgenkonstante ( "" ) als Teil eines Kriteriums für eine Spalte in einer Abfrage verwenden, um die Feldwerte für diese Spalte auszuwerten, indem Sie Folgendes als Kriterium eingeben: <>"" . In diesem Beispiel ist <> ein Operator und "" eine Konstante. Wenn sie zusammen verwendet werden, geben sie an, dass der Bezeichner, auf den sie angewendet werden, mit einer leeren Zeichenfolge verglichen werden sollte. Der resultierende Ausdruck ist wahr, wenn der Wert des Bezeichners etwas anderes als eine leere Zeichenfolge ist.

Seien Sie vorsichtig, wenn Sie die Null- Konstante verwenden. In den meisten Fällen führt die Verwendung von Null in Verbindung mit einem Vergleichsoperator zu einem Fehler. Wenn Sie einen Wert in einem Ausdruck mit Null vergleichen möchten, verwenden Sie den Operator „ Ist Null" oder „Ist nicht Null" .

Werte

Sie können in Ihren Ausdrücken Literalwerte verwenden, z. B. die Zahl 1.254 oder die Zeichenfolge "Geben Sie eine Zahl zwischen 1 und 10 ein". Sie können auch numerische Werte verwenden, bei denen es sich um eine Reihe von Ziffern handeln kann, einschließlich eines Vorzeichens und eines Dezimalpunkts, falls erforderlich. Ohne Vorzeichen nimmt Access einen positiven Wert an. Um einen Wert negativ zu machen, fügen Sie das Minuszeichen ( - ) hinzu. Sie können auch die wissenschaftliche Schreibweise verwenden. Fügen Sie dazu „E" oder „e" und das Vorzeichen des Exponenten hinzu (z. B. 1,0E-6).

Wenn Sie Textzeichenfolgen verwenden, setzen Sie sie in Anführungszeichen, um sicherzustellen, dass Access sie richtig interpretiert. In einigen Fällen stellt Access die Anführungszeichen für Sie bereit. Wenn Sie beispielsweise Text in einen Ausdruck für eine Validierungsregel oder für Abfragekriterien eingeben, umschließt Access Ihre Textzeichenfolgen automatisch mit Anführungszeichen.

Wenn Sie beispielsweise den Text Paris eingeben, zeigt Access „Paris" im Ausdruck an. Wenn Sie möchten, dass ein Ausdruck eine Zeichenfolge erzeugt, die tatsächlich in Anführungszeichen eingeschlossen ist, schließen Sie die verschachtelte Zeichenfolge entweder in einfache ( ' ) Anführungszeichen oder in drei Gruppen von doppelten ( " ) Anführungszeichen ein. Die folgenden Ausdrücke sind beispielsweise äquivalent :

 Forms![Contacts]![City]. DefaultValue = ' "Paris" '
 Forms![Contacts]![City].DefaultValue = " " "Paris" " "

Um Datums-/Uhrzeitwerte zu verwenden, schließen Sie die Werte in Nummernzeichen ( # ) ein. Beispiel: #3-7-17#, #7-Mar-17# und #Mar-7-2017# sind alle gültige Datums-/Uhrzeitwerte. Wenn Access auf einen gültigen Datums-/Uhrzeitwert stößt, der in #-Zeichen eingeschlossen ist, wird der Wert automatisch als Datums-/Uhrzeit-Datentyp behandelt.

Seitenanfang

Die Verschachtelungsgrenze für Ausdrücke in einer Webdatenbank beträgt 65

Ausdrücke, die mehr als 65 Ebenen tief verschachtelt sind, funktionieren im Browser nicht, daher sollten Sie solche Ausdrücke nicht in einer Access-Webdatenbank verwenden. Sie erhalten keine Fehlermeldungen – der Ausdruck funktioniert einfach nicht.

Durch die Verwendung der Operatoren & , AND und OR können zusätzliche Verschachtelungsebenen auf dem Server erstellt werden, die sich nicht im Access-Client widerspiegeln. Beispielsweise ist der Ausdruck „a" & „b" & „c" im Ausdrucks-Generator nicht verschachtelt, aber in SharePoint wird er zu concatenate.Db("a", concatenate.Db("b", "c") ) . Diese Übersetzung erzeugt eine Verschachtelungsebene. Die Verwendung vieler aufeinanderfolgender Operatoren & , AND oder OR in einem einzelnen Ausdruck kann dazu führen, dass Sie die Verschachtelungsgrenze des Servers von 65 überschreiten, wodurch der Ausdruck im Browser nicht mehr funktioniert.

Seitenanfang

Verwenden Sie den Ausdrucksgenerator

Einführung in Ausdrücke

Erstellen Sie einen Ausdruck

Beispiele für Ausdrücke

No comments:

Post a Comment