• ベストアンサー

コンボボックスの先頭行に空白行を入れるには?

ACCESS2000です。フォームに貼り付けたコンボボックスのプロパティの値集合ソースにクエリを書いて、クエリ実行結果のデータを取得して、コンボボックスの内容としているのですが、先頭行に空白行を挿入して、2行目以降にクエリ実行結果のデータを入れたいのです。どうすればよいのでしょうか?ちなみに列数は4列です。 それから、その空白行に「(指定なし)」のような表示が可能であれば合わせて教えてください。

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

  • ベストアンサー
  • tom777
  • ベストアンサー率77% (14/18)
回答No.2

値集合ソースに Select "","","","" From テーブル1 UNION Select * FROM テーブル1; と書いてみてはどうでしょうか? ちなみにテーブル1のフィールド数は4つです。

Charley
質問者

お礼

有難うございます。確かにUNIONという手がありましたね。実は、テーブルからSELECTするデータは降順に並べたいので、 SELECT a,b,c,d FROM テーブル1 UNION SELECT "","","","" FROM テーブル1 ORDER BY a DESC, b DESC としてみたのですが、これだと空白行が最後の行になるのは仕方ないようです(昇順だったら、先頭行が空白行、2行目以降に昇順のデータとなります)。 ともかくも、空白行を入れることができました。有難うございました。

その他の回答 (1)

  • i-harada
  • ベストアンサー率22% (56/252)
回答No.1

i-haradaです。 >クエリ実行結果のデータを取得して とありますが、クエリーで null値が出るようにし昇順にすれば良いのでは? 一寸質問の意味がわかりません。 値リストでも良いのでしょうか? コンボボックスで選択しなければ、空白と思いますし。(規定値を入れてなければ)

Charley
質問者

お礼

早速のご返答どうもありがとうございます。テーブルに入っているデータをSELECTしてコンボボックスのリストに入れたいので、値リストではだめなのです。また、故意に先頭にNull行が1行入るようなクエリを作ればよいのではないか、という案は、確かにうまく行きそうですね(残念ながら今回のところでは使えませんが)。以前にASPを使ってVbScriptとHTMLでWebページを作った際に、コンボボックスの先頭行には指定なし、2行目以降はDBからSELECTしたデータでリストを作ったもので、ACCESSでも同じようにできないかと思ったのです。アドバイス有難うございました。

関連するQ&A

  • Access フォームコンボボックス空白をクエリで抽出したい

    現在access2000を使って、 フォーム1内にコンボボックスを作って コンボボックス内に1,2,3 と項目を入れています。 一方、クエリを使って、上記フォーム内のコンボボックスをつなげて1,2,3をそれぞれ抽出することはできるのですが、 1から3まで全てをiif関数などで 抽出したいと考えてします。 僕が考えた関数は iif(isnull([フォーム1][コンボ1]),is not null ,[フォーム1][コンボ1]) とクエリ抽出条件内に入力すると、結果は、 1、2、3をそれぞれフォームコンボボックスで選択すれば、クエリに反映されるのですが、コンボボックス内を「空白」の状態にすると、1,2,3すべてがクエリで抽出されるのではなく、何も抽出されないという結果になってしまいます。 どうすれば、クエリで1から3すべてを抽出することができるのでしょうか?多分、iif関数内の「空白」は空白として処理されないような気がします。 よろしくお願いします。

  • Access コンボボックスについて

    フォーム1の中にコンボボックス1、 検索結果用のサブフォームを作りました。 コンボボックス1は日付抽出用で、 プロパティは 値集合タイプ・・・テーブル/クエリ にしてあり、 2005-01  ・  ・  ・ 2005-12 となります。 「すべて」検索したいときには、どのように設定したら 良いのかを教えていただけないでしょうか? よろしくお願いします

  • VB.NETでコンボボックスの1行目を空白にしたい

    毎度、お世話になっております。 VB.NETでコンボボックスの1行目を空白にしたいです。 (1)[デザイン]のプロパティで設定できますか?  探したのですが、なかなか見つけられず困っています。  コードで記述する方法も分からずながら、試してみましたが、うまくいきません。 (2)もしコードで記述するしかなければ、どのように記述したらよいか教えてください。 ※データは、DBから取得したものを、DataSetに割り当てています。  それをPropertyで宣言したコンボボックスに表示するという形に  しています。 どうぞ、よろしくお願いいたします。 

  • Access2003でコンボボックスからデータを抽出したい

    自己啓発でAccess2003を勉強しています。 Access2003でコンボボックスで名前を選択して、データ(住所)を抽出したものをリストボックスに表示させたいのですがどこがまちがっているかわかりません。こんなことで3週間ぐらい悩んでいます。 回答またはアドバイスをお願いします。 もしくはもっと簡単なやりかたがあればお願いします。 (1)「氏名」、「住所」のテーブルを作成。テーブル名は「01データ」 (2)「氏名」、「住所」のクエリを作成。クエリ名は「クエリ1」 (3)フォームでコンボボックスとリストを作成。フォーム名は「印刷」 ⇒コンボボックスの名前は「検索」。 ⇒値集合ソースはSELECT [01データ].ID, [01データ].氏名 FROM 01データ; これで「氏名」が選択できた。 (4)クエリの「氏名」抽出条件にLike [forms]![印刷]![検索] (5)検索するマクロを作成。マクロ名「M検索」 アクションは 全レコードの表示 フィルタの実行 ⇒Where条件は[Forms]![印刷]![検索]=[クエリ1]![氏名] (6)マクロ「M検索」をコンボボックスのプロパティ「イベント」タブから変更時に設定する。 (7)フォーム「印刷」を開き、コンボボックスで氏名を選択すると『クエリ1!氏名』と表示されてしまいます。 (8)フォーム「印刷」のリストボックスは全レコードが表示されている。

  • コンボボックスの2列目の値を表示させる方法はありま

    アクセス2003です。 コンボボックスの2列目の値を表示させる方法はありますか? テーブル1には ID 会社名 1 山田建設 2 田中株式会社 といれ、 テーブル1をレコードソースとするフォームを作り、コンボボックスを設置し そのコンボボックスのプロパティは 値集合タイプ:テーブル/クエリ 値集合ソース:テーブル1 列数:2 にしました。 この場合、コンボボックスで値を選択した後は、一番左側の数字がコンボボックスに入力されますが 左から2列目の値を表示させる方法はありますか? IDと会社名のフィールドを順番を変えることなく、IDが左、会社名が右にしたいです。 エクセルで例えると http://www.moug.net/tech/exvba/0090021.html と同じようなことをアクセスで行いたいです。 プロパティではなくエクセルのようにVBAで配列を使うしかないのでしょうか?(コードもわかりませんが) よろしくお願い致します。

  • コンボボックスについて

    2007です。いつもお世話になります。 フォーム上にチェックボックスがあります。 チェックが入った時点で同じフォーム上のコンボボックスのリストから特定のものを選択したいです。 しかし、チェックか゛入っていなければそのコンボボックスのリストから特定のものを除いたものを選択するようにする・・出来るでしょうか? チェックありならばコンボボックスの値集合ソース1.2.3の内の2だけを チェックなしならばコンボボックスの値集合ソース1.2.3の内の1.3だけしか選択出来ない というイメージです。 分からないなりに =IIf([チェック1]="true","1,"2" Or "3") にしたら、リストから選択どころか、-1という数字が出てきてしまいました。

  • コンボボックスの初期値(?)

    アクセス2000でデータベースを作成しています。 フォームでコンボボックスを置いています。フォームはなにも打たないと空白になっています。大体、いつも同じものを選択することになるのでそれを初期値としてセットしておきたいと思っています。コンボボックスのプロパティに「既定値」がありそれに入力しておく方法があります。 これではひとつ問題があります。リスト行が何行もある場合、一番上から選択しなければいけません。これをリスト行の真ん中あたりから上下選べるようにしたいのです。 このような場合、どのような方法でやればいいでしょうか?

  • ACCESS2000 コンボボックスによるデータ入力

    2つのテーブルがあります。 1つのテーブルは、顧客テーブルとし「氏名」「住所」「TEL」「担当者」とします。 もう1つは、担当者テーブルとし「ID」「担当者」 フォームで、 1つめの「担当者」のところをコンボボックスにしました。 プロパティは、 コントロールソース→担当者 値集合タイプ→テーブル/クエリ 値集合ソース→担当者テーブル としました。 顧客テーブルの「担当者」フィールドは、担当者テーブルから取得したいの です。 しかし、フォームで開きコンボボックスで値を変えようとしますが、 データが固定していて顧客テーブルに入力されません。 ほかのボックスは入力OKです。 リレーションは、担当者フィールド同士で設定してもしなくても 入力は可になりません。 状況がつかみづらいですが、わかる方教えてください。

  • コンボボックスが空白になってしまう

    Excelの開発メニューにある、フォーム コントロール→コンボ ボックス (フォーム コントロール)の使い方について質問です。 1つのシートにコンボボックスを10個並べ、「いいえ」「はい」の2択のみで、10問の質問表のようなものを作っています。 初期状態で全ての項目で「いいえ」を表示させておき、回答者にはそのうち当てはまるものだけを「はい」に選択し直して欲しいのですが、初期状態で全てのコンボボックスを「いいえ」にしておく方法がわかりません。 全て「いいえ」にした上でそのExcelファイルを保存しましたが、再度開いた際に、なぜか全てのコンボボックスが空白になってしまいます。▼を押すとまたきちんと選択はできるのですが。 コンボボックス 初期値 と検索すると解決方法らしきものがヒットするのですが、コードを入力するといった内容で全く理解できませんでした。 お恥ずかしながらコードのことは全く分からないので、もう少し簡単に解決方法はありませんでしょうか。

  • Access テキストボックスとコンボボックス

    Access初心者で、勉強がてらデータ登録フォームを作成しています。 フォーム上にコンボボックスを設置し、 テーブルに保存されているデータを検索できるようにしたのち、 テキストボックスのコントロールソースには簡単に 「=[コンボボックス].[column](2)」としています。(それぞれの名前は仮称です) 後から、テキストボックスひとつで 「コンボボックスからの検索結果を表示させる」と 「テキスト入力も可能とする」 を共存させたいと思い始めたのですが、可能になりますでしょうか。 ただし「コンボボックスからの検索結果表示」をしたテキストボックスに対し、 その情報をフォーム上で書き換えたとしても、テーブル側のデータ書き換えは行いたくありません。 よろしくお願いいたします。

専門家に質問してみよう