【Access】絶対マスターしたい!よく使う条件分岐、If~Thenの使い方

AccessでVBAを使うにあたって、すごーく毎回役に立っているのが、If~Thenの条件分岐If文です。

この構文の使い方は簡単なので覚えていて損はないと思います。

私はこのIF文の応用でほとんどの見積書の作成コードを書いたといってもうそではないかもしれません(笑)

IF文で空欄を判定したり、フォームが開いているのか判定たり、特定のフォームが開いている時はこういうイベントを発生させるなど、いろいろと使えます。

考え方は下のようになります。

条件分岐 If文

If  条件式   Then
真:条件を満たしている(true)
else
偽:条件を満たしていない(false)
end if

なんだかわかりませんって?!

IF 条件式(こうなったとき) Then

こうなったときが正しい(true)

こうする

else(正しくないとき)

正しくないとき(false)

こうする

end if

となります。もっとわかんない??(笑)

では実際に見積書で使っているコードをご紹介します。

最初に『得意先名』を記入してEnterを押すと次に『得意先担当名』にカーソルが移動するのですが、『得意先名』はコードで管理しているので、空欄にしないようにします。

『得意先名』が空欄かどうかを判定して先に進む(『得意先担当者名』)か戻って『得意先名』を記入させるかチェックします。

コードは下のように書きます。

『得意先名』が空欄かどうかを判定して先に進むコード例
Private Sub 得意先担当名_Enter()

If IsNull(Me![得意先名]) Then

MsgBox "得意先名を記入してください", vbYes

Me!得意先名.SetFocus

Else

Me!得意先担当名.SetFocus

End If

End Sub

イベントを発生させるときは、『得意先担当名』にカーソルが来たときなので、『得意先担当名』でコードを書いてください。

赤く囲っている『フォーカス取得時』というところでイベントを発生させます。

では、実際に『得意先名』を空欄でEnterを押して見ましょう!

『得意先名を記入してください』とメッセージが出ます。

『OK』を押すと、セットフォーカスで『得意先名』にカーソルが戻ります。

ちなみに『得意先名』が記入されている場合は特になに発生せずに『得意先担当名』にフォーカスが移動します。

こんな感じで使っています。

よく使うIF文、本当に覚えていて損はないと思います。

IF文で思い通りにAccessのVBAで動かすことができる第一歩になります。

IF文を使って、楽しくAccessでお仕事をしましょう!!

カテゴリー:
関連記事