- ベストアンサー
Access コンボボックスに空のレコードを表示しない方法
いつもお世話になっています。 下記の様に空データを持つテーブルの列【名称】をコンボボックスを作る際に空データのレコード【2】は表示させないようにするにはどうしたら良いのでしょうか? CD 名称 日時 1 a 07/12/01 2 3 b 08/11/30 : : : : : : : : : 初歩的な質問で恐縮ですがご教示ください。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
SELECT CD, 名称, 日時 FROM tab1 WHERE Len(CD & ""') AND Len(名称 & "") AND Len(日時 & "") SELECT CD, 名称, 日時 FROM tab1 WHERE Not CD Is Null AND Not 名称 Is Null AND Not 日時 Is Null 抽出条件は WHERE節で指定することが可能です。 この場合、 IS Null 演算子を利用して空値を除外する条件を指定することが可能です。 また、Len関数でフィールドの値の長さを測って指定することも可能です。 × Len(CD) ○ Len(CD & "") ○ Len(Trim(CD & "")) 私は、Len関数利用派です。
その他の回答 (2)
- okky0707
- ベストアンサー率22% (34/154)
コンボボックスのプロパティで「値集合ソース」をクリックすると、 下向き矢印が現れるので、それをクリックしプルダウンメニューから コンボボックスの元になるテーブルを選択する。 テーブル選択後にもう一度「値集合ソース」をクリックすると、 右側の欄外に「…」というボタンが現れるのでそれをクリックする。 するとクエリビルダというウインドウが現れる。 これはコンボボックスに表示するフィールドを選択したり抽出できるウインドウで、 クエリ作成と同じ操作を行います。 テーブルのフィールドからコンボボックスに表示したいものをダブルクリックする。 名称フィールドの抽出条件に”Is Not Null”と入力し、×ボタンでウインドウを閉じる。 このとき、「ステートメントの変更を保存しますか」と聞いてくるので「はい」を選択し終了する。 これで、空白のレコードはコンボボックスに表示されなくなります。
SELECT CD, 名称, 日時 FROM tab1 WHERE Len(CD & "") * Len(名称 & "") * Len(日時 & "") True=0以外 False=0 という約束事があります。 ですから、このようにフィールドの長さを乗じても同じ結果を得られます。
お礼
ご指導の通り設定しました。 期待通りの結果を得ることができました。 丁寧なご指導ありがとうございました。