• ベストアンサー

空のリストボックスに抽出した項目を追加させたい。(access2000)

いつも拝見させていただき勉強させて頂いております。 抽出結果をリストボックスに追加させたいのですがうまくいきません。 access2000を使用しております。 テーブル構成は以下の通りです。 会員NO|会員名|会員住所|登録日| 0001  あああ 東京   20050102 0002  いいい 大阪   20050103 0003  ううう 名古屋  20050105 このテーブルを使用して登録日で会員を日付範囲で抽出して同フォーム内の空のリストボックスに表示させたいのです。 以下のように記述してみたのですがどのようにすればいいのかわかりませんでした。 Private Sub 抽出_Click() Dim strFilter As String strFilter = "登録日>=" & Me.抽出開始日_text.Value & " And 登録開始日<=" & Me.抽出終了日_text.Value 新規会員_list.additem ??????? ※ここまではなんとかやってみたのですがどうすればいいのかよくわからずギブアップしてしまった次第です。 初心者で大変申し訳ないのですが、お知恵をお貸しください。 よろしくお願いいたします。

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

  • ベストアンサー
  • AlexSuns
  • ベストアンサー率67% (78/115)
回答No.2

Accessフォームなら2通りの方法があります 1.「値集合ソース」を利用する ・リストボックスのプロパティ「列数」を"2"に設定 ・リストボックスのプロパティ「値集合タイプ」を"テーブル/クエリ"に設定 ・リストボックスのプロパティ「値集合ソース」に下記のようにSQLを設定(VBAから) Me.新規会員_list.RowSource = "SELECT 会員NO, 会員名 FROM テーブル名 WHERE 登録日 Between '" & Me.抽出開始日_text.Value & "' And '" & Me.抽出終了日_text.Value & "';" 2.レコードセットを使用する ・リストボックスのプロパティ「列数」を"2"に設定 ・リストボックスのプロパティ「値集合タイプ」を"値リスト"に設定 ・対象のテーブルをすべてレコードセットに取得する ・取得したテーブルデータを全件追加していく あと気になった点ですが、「登録日」フィールドは日付型でしょうか?または文字列型? 条件文に対象のフィールドを記述するときには、文字列型の場合は"'"で括らなければなりません 文字列型の場合は"#"で括ります まずは難しく考えることより、デザイン上からリストボックスのプロパティ「値集合ソース」をいじって見てください 「クエリビルダ」で表示する内容を指定することができますよ

naka5456
質問者

お礼

結局GW明けまで悩んでおりましたところ 昨日すんなりと動くようになりました。 もう少し私個人、勉強する必要があったようです。 丁寧なご回答ありがとうございました。

naka5456
質問者

補足

ご回答ありがとうございます。 土日の間に頭をひねりながら試してみました、 値集合ソースで試してみたところ、VBAのところで ご指南いただいた、構文;Me.新規会員_list.RowSource = "SELECT 会員NO, 会員名 FROM テーブル名 WHERE 登録日 Between '" & Me.抽出開始日_text.Value & "' And '" & Me.抽出終了日_text.Value & "';"と入力するとSQLステートメントが正しくないと出てきてしまいます。 SELECTまたは、 そこで SELECT 会員NO, 会員名 FROM テーブル名 WHERE 登録日 Between '" & Me.抽出開始日_text.Value & "' And '" & Me.抽出終了日_text.Value & "';としてみましたがうまくいきません。 Select または Deleteを使用してくださいとのことなのでこのようにしてみました。 少し難しく考えすぎなのかもう少し簡単な方法をを考えてみたいと思います。 ありがとうございました

その他の回答 (1)

回答No.1

こんな感じですかね? リスト(コンボ)の設定は 項目1、項目2の2つを表示するものとします。 Do Until TABLE.EOF Me.list_sample.AddItem TABLE!DATA_1 & ";" & TABLE!DATA_2 & ";" Loop サンプルですので動作確認はしていません。

naka5456
質問者

お礼

ご回答ありがとうございます。早速試してみたいと思います。

naka5456
質問者

補足

ご回答ありがとうございました。 このようにしてみました、 Private Sub 抽出_Click() Do Until TABLE.EOF Me.新規会員_rist.AddItem TABLE!会員NO & ";" & TABLE!氏名 & ";" Loop End Sub なんども考えてやっているのですが、メソッドまたはデータメンバが見つからないと表示されてしまいます。 私の知識不足なのかなかなかうまくいかないものです;;

関連するQ&A