Please visit our sponsors.
スポンサーも訪れて下さい

トップページ ★MSアクセスウエッブカレッジサンプル(ダウンロードする)|業務統合4in1小さな会社用『感嘆!』  

■★■MSアクセスマクロ・TOPICS■★■

6.・・・コマンドの実行

 アクセスマクロでアクションをクリックすると、クエリーを開く あたりに、「コマンドの実行」アクションがあります。これも、 分かりにくいのと、使いにくいアクションですが、これは、アクセス バーにあるさまざまな機能を、マクロから実行するときに使うものです。

 ほとんど機能はアクションにありますが、アクションにないものも 多くあります。私が良く使う、「コマンドの実行」は、「更新」 「フィルタの実行/解除」等です。

 「更新」は「値の代入」等データ(レコード)の内容を変えたとき、 次の処理に入る前に強制的に、レコードの保存更新をさせるために 利用します。非常に頻繁にマクロ内で使っています。

 システムで処理マクロを作成していると、データ更新の課題が出て きます.データを変更したのに、結果が変化しないことなど、多々あり ます。ネットワーク処理をすると、まさにこの問題に絡みます.どうし て?なぜ?と悪銭苦闘する部分です。

 特に、マクロの中で、処理をして、前の結果を受けて次の処理を する場合も、この「更新」されているか否かがポイントになります。 私は、実際システム面では、データの変化をするアクションを実行 したら、「更新」をかけておきます.出来るだけそうしています.  

 同じような理由で「フィルタの実行/解除」があります.「更新」 は主に「値の代入」のあと、「フィルタの実行/解除」は、選択条件付 クエリーのあとで使います。必ず使うというものではなく、ケースバイ ケースで利用しています。 選択されたデータ(レコード)が、その後も維持されていて、次の 選択が出来ないことがあります。このような場合、まず「フィルタの実行/解除」 をしてから、選択します。

 例えば、得意先番号30番の得意先を選択して、演算をして、次に 40番の得意先選択したいときに、クエリーは動いているが、選択結果は、 30番のままになっているような現象です。クエリーでエラーが出て いるはずですが、非表示にしているため、分かりません。このように連続 して選択する場合によく問題を起こします。

 この場合、クエリーを実行して処理が終わったらフィルタ解除を実行して おくのです。フィルタ解除によって全レコードが選択の対象になります。 access2.0では、このようなことはなかったのですが、 access97になって、フィルタが効きすぎているきらいがあって、 そのあともなかなか開放されません。これが、変則的であり、ルールが不明 なので、結果を見ながら、使ったり使わなかったりしているわけです。

 選択が繰返し行われる(選択条件付クエリーが繰返し利用されるマクロ) マクロで結果が、正しくならない、とか、結果が不安定の場合はこれに起因 することがある。 レコードの更新は、レコードの移動によって自動更新がかかります。又 フォームでデータ(レコード)を入力、変更した場合は、フォームを閉じる とき保存させることが出来ます。  更新がかかたかどうかは、画面上であれば、鉛筆マークが変化したことで 分かりますが、意外と、マクロ実行の中で、問題を起こすところです。


メール:macro@mscn.net

| トップ4in1曙司法書士システム公益法人
|弁理士用大丈夫弁護士用大丈夫ARA ! |
| マクロ研究会MSアクセス入門マガジン |マクロ会議室ダウンロード

me-mu