質問
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