【Access】初心者からVBAまでまるわかりおすすめ参考書

【Access】if文が複数入っているVBAコードの考え方は『サンドイッチ』

アクセス【Access】

Accessを使っている時にVBAコードのif文で、あれ?イベントの発動がおかしいなぁと思ったり、elesが多過ぎてどことどこで挟んでいるのか訳が分からなくなったりしませんか??

selectcaseを使えばいいのかもしれませんが、私はif文が好きなんです(笑)

Accessでifを多様しすぎて、elesとendifがどこのifからきているのかわけがわからなくなってしまうことが多々あるので、今日はそんな時の考え方のお話です。

スポンサーリンク

【Access】if文の中にifを使うことを『ネスト(入れ子)』という

Accessでif文の中にifをまた入れたりすることを『ネスト』や『入れ子』とか呼んだりします。

ネスト(入れ子)とは??

ネストとは、構造化プログラミングにおいてプログラムを構築する手法の一つで、あるルーチンやデータブロックの中に、別のルーチンやデータブロックがはめ込まれることである。入れ子構造とも呼ぶ。ループ文の中のループやルーチン内でにサブルーチンコール、関数呼び出しの引数に関数呼び出しを使うこと、コメントを含む文全体のコメント化など、多くの種類がある。

出典:IT用語辞典-Weblio辞典-

どんな例があるのか実際に私が作ったAccessVBAコードのif文をご紹介します。

if文はとても便利な関数ですが、私のように入り子をして多用しすぎるとどこの部分のifをしめているかわからなくなってしまいます。

その時の考え方として大切なのは『if文のしめは外から挟むようにしめる』ということです。

文章説明が下手なので分かりにくいかもしれませんので、色を付けてみたいと思います。

簡単なイメージだとこんな感じです。

スポンサーリンク

【Access】上記if文の意味(解説)

最初の青い部分のIfは商品リストQのバーコードフィールドが空欄かどうかを確認しています。

次の緑の部分は『管理者用商品リスト』を作成していいのか、ダメなのかを聞いています。

最後のピンクの部分は商品リストにデータそのものがあるかないか(0件かどうか)を判断しています。

スポンサーリンク

まとめ

AccessのVBAコードはif文が複数出てきて分かりにくいコードも『サンドイッチ』の考え方でわかりやすく分解することが出来ます。

コードが長すぎて訳が分からなくなった時に立ち止まって『サンドイッチ』で考えてみてください。

最後までお読みいただきありがとうございました。

Accessを使うときにおすすめの参考書
Accessを使うときにおすすめの参考書

これからAccessを勉強しようと思っている方、Accessを使うときに戸惑ってしまったり、VBAを使いたいと思っている方へおすすめの参考書を集めてみました。

アクセス【Access】
スポンサーリンク
Simply123をフォローする
Simply+<シンプリープラス>

コメント

タイトルとURLをコピーしました