• ベストアンサー

チェックボックスの条件抽出

こんにちわ 当方、ACCESS VBAを使っていてただいまとても困った状態に陥っています。 教科テーブルの中に1年というYes/No型のデータが入っているとします。 それにチェックが入っているものだけを抽出して開くというようにしたいのですが、うまくいきません。 以下の文のように記述してみましたが、うまくいきませんでした。 rs.Open "SELECT * FROM 教科テーブル WHERE 1年='" & True & "';", cn エラーメッセージは '1年='True" の構文エラー;演算子がありません とでました。 どなたか助けてください。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.3

#1の方の回答では >'1年='True" の構文エラー;演算子がありません これの対処になっていません。本来なら「抽出条件でデータ型が一致しません」となるはずです。 ということでもう1ヶ所修正が必要な個所があります。 1年というフィールドですが、実はフィールド名の先頭を数字にするのはお勧めしません。SQL文中でフィールド名ではなく数値とみなされるからです。 このため、フィールド名であるということを明示的に示す必要がありますので、 rs.Open "SELECT * FROM 教科テーブル WHERE [1年] = True;", cn とする必要があります。

その他の回答 (2)

noname#182251
noname#182251
回答No.2

既に正解が出ているので、余計なお世話かもしれません(^^; 「1年」フィールドが Yes/No 型で設計されているようですが、「学年」フィールドなどの名称で、 数値型 にした方が使い易いのでは? 「それは承知」で理由が有って1年とされているのでしたら失礼しました。

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> rs.Open "SELECT * FROM 教科テーブル WHERE 1年='" & True & "';", cn Yes/No 型は、数値型と同じ扱いなのでシングルクォーテーションが不要ですね。 rs.Open "SELECT * FROM 教科テーブル WHERE 1年=" & True & ";", cn

関連するQ&A