一回も披露したことのない豆知識

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

下記の様に空データを持つテーブルの列【名称】をコンボボックスを作る際に空データのレコード【2】は表示させないようにするにはどうしたら良いのでしょうか?
CD 名称  日時
1   a  07/12/01
2       
3   b  08/11/30
:  :   :
:  :   :
:  :   :

初歩的な質問で恐縮ですがご教示ください。
宜しくお願いします。


    

A 回答 (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関数利用派です。
    • good
    • 0

 コンボボックスのプロパティで「値集合ソース」をクリックすると、


下向き矢印が現れるので、それをクリックしプルダウンメニューから
コンボボックスの元になるテーブルを選択する。

テーブル選択後にもう一度「値集合ソース」をクリックすると、
右側の欄外に「…」というボタンが現れるのでそれをクリックする。

 するとクエリビルダというウインドウが現れる。

 これはコンボボックスに表示するフィールドを選択したり抽出できるウインドウで、
クエリ作成と同じ操作を行います。

 テーブルのフィールドからコンボボックスに表示したいものをダブルクリックする。
名称フィールドの抽出条件に”Is Not Null”と入力し、×ボタンでウインドウを閉じる。

 このとき、「ステートメントの変更を保存しますか」と聞いてくるので「はい」を選択し終了する。


 これで、空白のレコードはコンボボックスに表示されなくなります。
    • good
    • 1
この回答へのお礼

ご指導の通り設定しました。
期待通りの結果を得ることができました。
丁寧なご指導ありがとうございました。

お礼日時:2008/12/09 12:38

SELECT CD, 名称, 日時 FROM tab1 WHERE Len(CD & "") * Len(名称 & "") * Len(日時 & "")



True=0以外
False=0

という約束事があります。
ですから、このようにフィールドの長さを乗じても同じ結果を得られます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A