Verwenden der richtigen Syntax beim Veröffentlichen von Access-Makros in Webdatenbanken
Veröffentlichung des Originalartikels: 25.04.2011
In Access 2010 spielen Makros eine wesentliche größere Rolle als in früheren Versionen. Denn Makros bieten im Wesentlichen die einzige Möglichkeit, Aufgaben in Webobjekten und Anwendungen zu automatisieren, die Sie in Access Services veröffentlichen.
Ein Thema, das für Verwirrung gesorgt hat, ist die ordnungsgemäße Syntax in einem Makro.
Zunächst gibt es zwei Klassen von Makroargumenten, die je eine deutlich andere Syntax erfordern.
Die erste Klasse von Makroargumenten ist Zeichenfolge. Ein Beispiel ist das Argument Meldung (Message) der Makroaktion Meldungsfeld (MessageBox). Geben Sie zum Angeben einer Meldung eine Zeichenfolge ohne Anführungszeichen in das Argument ein:
Sie können jedoch auch einen Ausdruck in dieses Argument eingeben, indem Sie zunächst ein Gleichheitszeichen und dann einen Ausdruck eingeben. Ausdrücke müssen stets in Anführungszeichen gesetzt werden:
Die andere Argumentklasse wird in Form eines Ausdrucks angegeben. Ein Beispiel dieses Typs ist das Argument Bedingung (WhereCondition) der Makroaktion FestlegenFilter (SetFilter). Im Makro-Designer wird vor und außerhalb des Argumenttextfelds ein Gleichheitszeichen angezeigt, um den Benutzer darauf aufmerksam zu machen, dass das Argument in Form eines Ausdrucks angegeben werden muss.
Wichtige Aspekte beim Verwenden eines Ausdrucksarguments
Was ein "doppelter Ausdruck" ist und warum es gilt, diesen zu vermeiden
Ein "doppelter Ausdruck" bzw. eine "doppelte Auswertung" tritt auf, wenn ein Ausdruck in einem anderen verschachtelt ist. Wenn Sie für ein Ausdrucksargument ein Gleichheitszeichen (=) in das Textfeld eingeben, wird der Ausdruck zweimal ausgewertet, einmal für Ihr Gleichheitszeichen und ein weiteres Mal für das Gleichheitszeichen vor und außerhalb des Argumenttextfelds.
Warum sollte dies vermieden werden? Weil bei Verwenden eines Ausdrucksarguments in einem Webdatenbankmakro die Syntax ordnungsgemäß sein muss, da andernfalls bei Ausführung des Makros ein Laufzeitfehler verursacht wird. Doppelte Ausdrücke werden in Access Services-Anwendungen nicht unterstützt. Wenn Sie ein Makroargument haben, das zu einem doppelten Ausdruck führt, erfolgt bei jeder Makroausführung ein Laufzeitfehler.
Quintessenz: Geben Sie bei Verwenden eines Ausdrucksarguments in einem Webdatenbankmakro am Anfang des Ausdrucks kein Gleichheitszeichen ein.
Allgemein gilt Folgendes:
Geben Sie bei Verwenden eines Ausdrucksarguments in einem Clientdatenbankmakro am Anfang des Ausdrucks kein Gleichheitszeichen ein, es sei denn, dies ist unbedingt erforderlich. Hinweis: Die doppelte Auswertung führt bei jeder Ausführung Ihres Makros zu einer sehr geringfügigen Leistungsminderung.
Ungeachtet des Datenbanktyps müssen alle Zeichenfolgen in Ausdrucksargumenten in Anführungszeichen gesetzt werden.
Es handelt sich hierbei um einen übersetzten Blogbeitrag. Sie finden den Originalartikel unter Using the right syntax when publishing Access macros to Web databases.