Web データベースに Access マクロを発行するときは正しい構文を使用する

原文の記事の投稿日: 2011 年 4 月 25 日 (月曜日)

Access 2010 では、以前のバージョンよりもマクロの役割が大幅に増しています。実際、Web オブジェクトや、Access Services に発行するアプリケーション内で、タスクを自動化するには、マクロを使用する以外に方法はありません。

問題が発生した箇所では、マクロを正しい構文で使用する必要があります。

まず、マクロの引数には 2 つのクラスがあり、クラスごとに使用する構文はまったく異なります。

最初のクラスは文字列です。たとえば、MessageBox マクロ アクションの Message 引数は文字列です。メッセージを指定するには、引数に文字列を入力します。引用符は使用しません。

 

一方、この引数には式を入力することもできます。その場合は、等号記号を入力し、それに続けて式を入力します。他の式と同様、文字列は引用符で囲む必要があります。

もう 1 つのクラスは、式の形式で記述されます。たとえば、SetFilter マクロ アクションの WhereCondition 引数がこれに該当します。マクロ デザイナーでは、これらの引数には、引数テキスト ボックスの手前の外側に等号記号が表示されます。この位置に等号記号があることで、ユーザーは、この引数は式の形式で表す必要があることを理解します。

 

式引数を使用するときの重要事項

"二重式" とは何か。また、注意が必要な理由

ある式が別の式に入れ子になっていると、"二重式" または "二重評価" が必ず発生します。式引数でテキスト ボックスに等号 (=) 記号を入力すると、式は 2 回評価されます。1 回目の評価は、自分が入力した等号記号について行われ、2 回目の評価は、引数テキスト ボックスの手前の外側に表示される等号記号について行われます。

なぜ注意が必要なのでしょうか? それは、Web データベース マクロで式引数を使用する場合は、正しい構文を使用する必要があるからです。正しい構文を使用しないと、マクロが実行されるたびに、実行時エラーが発生します。二重式は Access Services アプリケーションではサポートされません。結果として二重式になるマクロ引数を使用すると、マクロが実行されるたびに、実行時エラーが発生します。

結論: Web データベース マクロで式引数を使用する場合は、式の先頭に等号記号を入力しないでください。

概要

クライアント データベース マクロで式引数を使用する場合は、どうしても必要でない限り、式の先頭に等号記号を入力しないでください。注意: 二重式は、マクロが実行されるたびに、ごくわずかですが、パフォーマンスに影響します。

データベースの種類を問わず、式引数の文字列は引用符で囲んでください。

これはローカライズされたブログ投稿です。原文の記事は、「Using the right syntax when publishing Access macros to Web databases」をご覧ください。