次の方法で共有


Accessのクエリにて、YesNo型項目を作成

質問

2015年1月27日火曜日 7:09

いつもお世話になっております。

・テーブル1
項目1    項目2
1    あ
2    い
3    う

・クエリ1
フィールド1    フィールド2    フィールド3
項目1        項目2        項目3: IIf([項目1]='2',True,False)
テーブル1    テーブル1    

上記の環境で、テーブルに項目を増やすことなく、
クエリにYes/No型の項目を追加したいのですが、
以下のVBAでは、クエリ1の項目3のデータ型が数値型と判断されます。

    Dim DB As Database
    Dim RS As Recordset
    Dim FD As Field

    Set DB = CurrentDb
    Set RS = DB.OpenRecordset("# クエリ")
    Set FD = RS.Fields("項目3")

    Debug.Print FD.Type = dbBoolean 'Yes/No型であるかチェック

    Set FD = Nothing
    Set RS = Nothing
    Set DB = Nothing

項目3: Cbool(IIf([項目1]='2',True,False))  としても、同様の結果です。
別所の処理で、クエリ1のデータ型がYes/No型の場合は、~を使用するIf文をような処理をする予定です。

良い方法があれば、お教え願います。

すべての返信 (1)

2015年1月27日火曜日 15:03 ✅回答済み | 1 票

お疲れ様です。悩ましいですね。

もし、こんな面倒なことが可能であれば、何とかなりますが・・・
①クエリーで、そのフィールドのフォーマットに Yes/No、True/False、On/Offのいずれかを設定する
②上記プログラムで、FD.Properties("Format")が、①のいずれかであれば、dbBooleanだとして処理をする

ごめんなさい、これくらいしか思いつきません

Shigeru Murai / SIMOZ