Microsoft Access Club >VBA物語 >このページ >次頁 < 前項  サイト内検索


VBA設定オプション_自動構文チェック:VBA物語15



VBAの大筋をちょっと垣間見てきました。
何の事前知識もなく、「いきなり」と言った感じでしたね。では、ここいら辺りで、休憩を差し挟みましょう。ボーっとする訳ではありませんよ。VBAの記述場所であるVBE(VBAの記述するプラットホーム)の仕組みについて、お勉強しましょうか。

VBAを理解するには、

  1. Accessの仕組み
  2. VB(Visual Basic)の知識
  3. VBE(VBエディター)の機能を理解

が必要です。何だか大変ですね。昨日もお便りをいただいて、その中で「気楽には取り組めない…」とのお言葉がしたためられていましたが、まさにそのとおりです。難儀やなー。

今回から、何回かに分かれてBの「VBE(VBエディター)の機能を理解」するお話を始めたいと思います。では、VBE画面を開いてください。

  • Access2000以降のバージョンをお使いの方はデータベースウィンドウで右クリックから簡単に開くことができます。 Access2000を基にお話しています。
  • Access97以前の方は、データベースウィンドウの「モジュール」で"新規作成"をクリックして下さい。

メニューバーの「ツール」から「オプション」をクリックします。すると下記の画面が現れます。

チェックが沢山ついています。チェック済みであれば記述されている項目を利用するという意味です。「編集」から進めます。

自動構文チェック

VBAにはエラーが発生しがちです。「これでOK」と思っていても、動かすと止まってしまったり、予期せぬ動作をする場合が多いです 。

この自動構文チェックをONにすると、プロシージャを一行づつ構文チェックを行っています。例えば、

MsgBox"テスト中です" & , ,"Akira"

という上記の構文を考えて下さい。これはMsgBoxステートメントの構文なんですが、メッセージの部分で余計な & が挿入されています。この場合、カーソルを他の行に移動させた時に下記のようなメッセージが表示され警告が発せられるようになります。そして、Accessが誤っていると判断した箇所が、赤字で表示されます。

エラーメッセージ「修正候補:式」は、MsgBoxステートメントの"式"が間違っているじゃないですか?という提案です。

また、下記の構文を見てみましょう? これは、変数 type を定義する構文です。

Dim type As Integer

この場合もエラーメッセージが表示されます。どこが誤っているかわかりますか?

変数名に、Accessが定めた「予約キーワード」を使用している からです。TypeはもともとAccessが内部で定めた予約語です。Access自身が使用していますので、変数名に用いることができないんです。

次に、下記構文をご覧ください。

Dim a As Integers 

変数の定義を Integer としたつもりが、Integers としてしまいました。この場合は、「自動構文チェック」機能が働きません。きちんとプロシージャが保存もされます。が、プロシージャを実行すれば下記エラーメッセージが表示され停止します。


 


  • この状態になった場合、Acceessは完全に停止しています。
  • 解除するには、メニューバーから 実行 → リセット をクリックします。

このように全てのエラーが事前に判別できるわけではないので、余り頼りすぎるとダメですよ。

また、この機能は便利な反面、ちょっと、他のオブジェクト名を確認したい場合などでカーソルを移動させたときにも警告メッセージが表示されますから、煩わしさもあります。

次回は、「変数の宣言を強制する」を取り上げます。では、また…。

2001/11/17

ページの先頭へ 前ページへ戻る


VBA設定オプション_自動構文チェック:VBA物語15


 

-Microsoft Access Club-