ACCESS True Falseを数値で表す方法

ACCESSのフォームでチェックボックスを設けると入力される値はTrueかFalseになります。
このTrue Falseの結果を使って判定するような処理は多いでしょう。

更にTrue Falseの結果を数値に置き換えて判定するような処理も作成可能です。

今回は、True Falseを数値で表す方法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSの基本的な使い方をご紹介していきます。

目次

Trueは-1、Falseは0

ACCESSでテーブルのデータ型にYes/No型を設定することができます。
Yes/No型はチェックボックスになり、チェックをした場合には値がTrue、外した場合にはFalseとなります。

このチェック結果をクエリの関数やVBAで利用する際、判定条件としてTrueやFalseを利用することはもちろん可能です。
一方で、処理によってはチェック結果を数値として扱い、更に計算をしたい場合があります。

ACCESSでは、Trueは数値では-1、Falseは0になりますので、これを知っておくと便利です。

クエリでの数値化

では、クエリを使ってTrue/Falseを数値化してみましょう。
今回は以下のテーブルを準備しました。

このテーブルをもとに、True/Falseを数値化するクエリを作成します。

上記のように、Val関数を使って「判定」フィールドの値を数値化するクエリを作成しました。
数値変換フィールドを新たに演算で作成しています。

では、データシートビューで結果を見てみましょう。

このように、「数値変換」フィールドでTrueの場合は-1、Falseの場合は0と変換されています。
この方法を知らずに、iif関数を使って処理すると

という記述が必要になりますので、かなり簡略化できていることがわかりますね。

VBAでの数値化

次に、VBAで数値として扱う場合の処理を見てみましょう。
以下のテーブルを準備しました。


上記のtest_trueテーブルの「判定」フィールド(Yes/No型)の値を数値化して同じテーブルの「判定数値」フィールドに格納するというプロシージャを作成しました。

テーブルの値を更新するためにADOを使っており、少し長くなっていますがTrue/Falseを数値として格納しているのは

の部分です。
rst1!判定はYes/No型のフィールドなのでTrue/Flaseの値が入っているのですが、その値をそのまま数値型フィールドのrst1!判定数値に入れています。

では、プロシージャを実行してみましょう。
以下が、実行後のtest_trueテーブルの値です。

判定数値にTrue/Falseを数値変換した値が入っています。
このように、数値型のフィールドに格納する際はVal関数などで数値変換をしなくても自動的に数値とみなすことが可能です。

以上、True Falseを数値で表す方法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に300以上のACCESSデータベースの開発・修正実績のあるはこにわガジェット(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

フッターバナー

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

True Falseを数値で表す方法

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次