IsNull関数を使いこなす【Access】

こんにちはmasalifeです。

 

Accessの力を最大限に発揮させるためには、関数の知識が必要不可欠です。

僕が多くのシステム構築をしてきた経験から、

この関数は覚えといた方がいい

というものを順に紹介していきたいと思います。

 

今回紹介するのは、

IsNull関数

です。

 

式に無効なデータ(Null値)が含まれているかどうかを調べるときに使います。

 

IsNull関数は単独で使用するより、IIf関数と組み合わせて使用することが多いです。

 

関数を知っていても、どうやって使えばいいか分からないという方のために、

代表的な使用例も紹介したいと思います。

 

関数の感覚を掴んでくださいね。

IsNull関数とは?

microsoft-officeサポートでは次のように示されています。

【構文】

IsNull(expression)

*microsoft-officeサポートより引用

括弧内に数値式または文字列式を含む Variant を入れます。

括弧内に入れた式がNullの場合にTrue(-1)、それ以外の場合はFalse(0)を返します。

Nullとは何もない状態です。

実際にクエリでやってみて戻り値を確認してみましょう。

クエリでの活用

文字列式(フィールド)を指定する

テーブル【T_会員名簿】の【再確認パスワード】フィールドに空白のデータがあるため、クエリを使って戻り値を確認してみましょう。

 

IsNull関数の括弧内にフィールドを指定します。

【再確認パスワード】フィールドに空白のデータがあるため、括弧内には【再確認パスワード】フィールドを指定します。

赤枠の部分を入力します。

 

クエリを実行して戻り値を見てみましょう。

【再確認パスワード】にデータが入っていたら0(False)

【再確認パスワード】にデータが入っていなかったら-1(True)

が戻り値となっていることが分かります。

 

この戻り値を使用して、IIf関数と組み合わせると実用的になります。

 

IIf関数と組み合わせて使用する

テーブル【T_会員名簿】の【再確認パスワード】フィールドに空白のデータがある場合、「パスワード確認」と表示するフィールドを作成してみましょう。

 

IIf関数の引数にIsNull関数を入れます。

赤枠の部分を入力します。

【文字列式(フィールド)を指定する】でIsNull関数の戻り値を確認しましたが、

 

IsNull([再確認パスワード])とした場合、【再確認パスワード】フィールドがNull

なら戻り値はTrue(-1)となります。

IIf構文で第一引数がTrueなら第二引数が戻り値となるので、

【再確認パスワード】フィールドがNullなら「パスワード要確認」という文字が表示

されることとなります。

IIf関数について詳しく知りたいという方はこちらへ

 

クエリを実行してみましょう。

正しく表示されていることが確認できます。

 

このようにIsNull関数はIIf関数と組み合わせて使用した方が実用的です。

 

フォームでの活用【必須項目の入力漏れをチェック】

IsNull関数とVBAを用いた簡単な入力フォームを作成してみましょう。

IsNull関数を使用して、入力漏れのチェックをする機能を作ります。

【登録】ボタンをクリックしたときに、再確認パスワードのテキストボックスが入力されているか、されていないかで処理を分岐します。

それでは作ってみましょう。

フォームをデザインビューで開いて、【登録】ボタンのプロパティシートを出します。

【イベント】タブにあるクリック時のコードビルダを選択します。

VBEに以下のコードを記述します。

再確認パスワードの入力が漏れていた場合はメッセージを出して、カーソルをテキストボックスに移動させています。

再確認パスワードが入力されていたらメッセージを出して、次のレコードに移動(登録完了)させています。

実際の入力フォームはもっと細かい制御が必要だと思いますが、IsNull関数を用いたシンプルな入力漏れチェック機能はこれで完成です。

さいごに

いかがだったでしょうか。何となくIsNull関数はこんなものと掴めていただけたでしょうか?

最後まで読んでいただいた方は空白=Nullとして理解してしまったかもしれませんが、

あくまでもNullは何も入っていない状態です。

別の表現をすると、

空白=Nullでもあれば空白≠Nullでもあります。

ここの部分はちょっと曲者なので、また別の記事で紹介したいと思います。

とりあえず、心の片隅にでも置いといてください。

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

>ちょっとした悩みを解決        

ちょっとした悩みを解決        



「こういう内容を記事に残してほしい」「これってどうやるの」等、意見・要望があればご連絡ください。
ちょっとでもお役に立てるブログにしていきたいなと思っております。
よろしくお願いいたします。