アクセス【Access】

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

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文が複数出てきて分かりにくいコードも『サンドイッチ』の考え方でわかりやすく分解することが出来ます。

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

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

アニメ見るならココ!おすすめのVOD

アニメ好きの私がおすすめのVOD(ビデオオンデマンド)です。

価格、アニメ数においても総合1位は『dアニメ』!



初回ご加入時に限り、31日間無料でお試し! ドコモのケータイ以外も登録可能!

アニメ作品数No.1の見放題サイト! ※国内の定額動画配信サービスにおいて。2018年3月時点、NTTコム オンライン・マーケティング・ソリューション株式会社調べ。

 

スマートフォン・タブレット・パソコンも対応 !Chromecastなら高画質で視聴可能!!