• ベストアンサー

リストボックスで複数データを選択、入力(Access97)

Access97で初めて入力フォーム作成にチャレンジしています。 リストボックスやコンボボックスで複数データを選択し、1つのフィールドに入力したいのですが、可能でしょうか? よろしくご教示ください。 例:”趣味”というフィールドに   リストからの選択で   ”読書,映画,テニス”のように入力したい。   (カンマ区切り、スペース区切り、区切りなし   など何でも結構です。)   *ベストはカンマ区切り。  

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

  • ベストアンサー
  • Nii
  • ベストアンサー率48% (79/162)
回答No.4

>OKボタンか何か作成して、そこでまとめて設定をするのが >正しいのでしょうか このHPの左にあるラジオボタンもそうですが、そこをクリックしただけでは、次に進みませんよね? 最終に、[回答する]をクリックした時に、次に進む。 これと同じようなイメージで説明してました。 >項目がある程度あるならば、配列的に名前をつけて この部分をモジュールに書いてみました。 フォーム上には10個のチェックボックスがあるとします。  □ 趣味1  □ 趣味2    ・    ・  □ 趣味10 □のチェックボックスの名前はチェック0から9と入力してあります。 「趣味1から10」はラベルで、標題に入力した値が表示されています。名前は、ラベル0から9と入力しています。 Private Sub コマンドボタン_Click() Dim Cnt As Integer Dim FLG As Integer Dim 趣味 As String FLG = 0 趣味 = "ありません!" For Cnt = 0 To 9 If Me("チェック" & Cnt) Then If FLG = 1 Then 趣味 = 趣味 & "," Else 趣味 = "" End If 趣味 = 趣味 & Me("ラベル" & Cnt).Caption FLG = 1 End If Next Cnt MsgBox ("あなたの趣味は " & 趣味 & " です") End Sub 実際には、最後のMsgboxがレコード等に格納する命令に置き換わる事になると思います。 只、入力はこれでいいと思いますが、実際に格納されたデータを表示するのはちょっと・・・って思う所はあるのですが、要望がカンマ区切りで1つのフィールドに格納したいってことでしたので。

ikurakun
質問者

お礼

Niiさん、本当にありがとうございました。丁寧な回答をいただいたので、初心者の私にもなんとかできました。 理解するまで、ずいぶん時間がかかってしまい、 お礼が遅くなりました。 サンプルまで作って頂いてカンゲキ☆☆でした。 ありがとうございました。m(_ _)m

その他の回答 (3)

  • Nii
  • ベストアンサー率48% (79/162)
回答No.3

リストボックスからの複数選択については、何らかの書籍に載っていたような気がずっとしていたので、調べてみたら、Access97のサンプルデータベースの設計支援データベース(私の環境ではC:\Program Files\Microsoft Office\Office\Samples\Solutions.mdbにありました。標準セットアップでセットされなかったはずなので、該当ファイルが無い場合は追加セットアップを行って下さい。)の中の[コンボ ボックス、リスト ボックス、サブフォーム、サブレポートを最大限に活用する。] → [オプション グループで選択された値を基に一覧の内容を限定する。]というのがありました。 只、初めて入力フォームを作成されるようなので、かなり敷居が高くなってしまうような気がします。

  • Nii
  • ベストアンサー率48% (79/162)
回答No.2

すみません、説明不足でした。 まず、予想される回答数のチェックボックスとその他用にテキストボックスをを用意します。 でもって、書き込み等のイベントでそれらの値をチェックし、Yesの時は、趣味のフィールドにその値を連結してゆけばいいのではないのかと思っていました。 Dim 趣味 As String If Me.読書 Then 趣味 = 趣味 & "読書" End If てな具合に 項目がある程度あるならば、配列的に名前をつけて、ラベルの表題を格納する等工夫の余地はありますが。 あと、サブフォームを使えば、リストボックスに近いものが作成出来ると思いますが。(Yes/No型・テキスト型で該当する項目にチェックをいれてもらう)

ikurakun
質問者

補足

Niiさん、ありがとうございます。 イベントって?プロージャって??というレベルでしたので、ゆっくり考えてました。 で、次のようにチェックボックスに設定してみましたが、 これだとクリックする毎にデータが増えてしまう・・ OKボタンか何か作成して、そこでまとめて設定をするのが 正しいのでしょうか? Private Sub チェックB_Click() If Me!チェックB = -1 Then 趣味 = 趣味 & "読書" End If End Sub ちなみに、 >項目がある程度あるならば、配列的に名前をつけて、ラ>ベルの表題を格納する等工夫の余地はありますが この部分は、理解できてません。 スミマセン。

  • Nii
  • ベストアンサー率48% (79/162)
回答No.1

通常、リストボックス・コンボボックスは、その中からの1つを選択してもらう時に使用しません? いくつかの選択肢の中から、複数個こ選んでもらう場合でしたら、チェックボックス等を考えられたほうが、良いような気がします。 どうしてもということでしたら、リストボックスとは別に、テキストボックスを作成し、リストから選択された内容を、テキストボックスにカンマ区切りで代入してゆく。 こんな方法しか思いつきませんが、この場合、最終的には入力内容のチェックが必要になってくるので、個人的にはやりたくないですね。

ikurakun
質問者

補足

Niiさん、ありがとうございます。 テキストボックスに入れる方法は、避けたいです。 チェックボックスは、yes/no型のデータをセットするもの と考えていましたが、、、オプショングループのチェックボックスを使用してみましたが、1つしか選択ができませんでした・・

関連するQ&A

  • Accessのコンボボックスでリストが選択できない

    いつもお世話になっております、ありがとうございます。 コンボボックス1で部署名を選択し、 コンボボックス2でその部署の社員の名前を選択するようなフォームがあります。 コンボボックス1の値集合ソースで社員テーブルの一覧を参照し、 部署名のフィールドでグループ化して選択できるようになっています。 このとき、なぜかコンボボックス2では最上段にリスト化された社員名しか 選択できなくなります。 画面上では全員がリストとして見えているのに、 リストの2番目以降をクリックしても、一番上の社員しか入力されません。 プロパティで何か変な制約がかかっているのでしょうか? どなたかお分かりになる方がいらっしゃいましたら教えてください。 どうぞよろしくお願いします。

  • アクセスで複数選択後、テキストボックスに入力

    いつもお世話になります。求人リストを作成しています。 募集職種をいちいち入力していく手間をはぶくため、下記のようなことをしてみたいと思っています。 ○リストボックスとは別に、テキストボックスを作成し、リストから選択された内容を、テキストボックスにカンマ区切りで代入していく。 ○あるいは、チェックボックスにチェックしたものをテキストボックスにカンマ区切りで代入していく。 検索していてQNo.13046の方が同じようなことをしていたのですが、 置き換えてやってみても「nullの使い方が正しくありません」とエラーが出てしまいます。 アドバイスよろしくお願いいたします。

  • Access コンボボックスの複数選択

    Access2007を勉強中の初心者です。 「空白のフォーム」から作成したコンボボックスで、複数選択が可能になるような設定はありませんか? テーブル項目の「ルックアップ」「複数の値を許可」を許したテーブルから作成したフォームでは、コンボボックスで複数の値を選択可能になりますが、「空白のフォーム」から作成した場合にはできないのでしょうか。 リストボックスではスペースをとってしまう為、コンボボックスで行いたいです。 言葉足らずな内容かもしれませんし、大変お手数をおかけしますが、よろしくお願いいたします。

  • ACCESSでコンボボックスからの入力でリスト外の追加をフォームを使っ

    ACCESSでコンボボックスからの入力でリスト外の追加をフォームを使って登録 ACCESSのフォームを使ってデータ入力を作成しています、"顧客名"をコンボボックスを使って選択するようにしていますが。 リスト外の新規顧客を入力する際には別の"顧客登録"フォームが開いて、顧客情報(読み仮名、顧客名、都道府県コード、所在地)を入力して、閉じると登録した"顧客名"がコンボボックスから選択できるようにしたいと思い、マクロを使用して(VBはよくわからないので) イベント→リスト外入力時→”顧客登録”フォームが開く 必要事項を入力し、閉じるボタンをクリック。 してみたのですが、コンボボックスのリストに先に入力した新規データが出てきません。 何が足りないのかご教授お願いいたします

  • コンボボックスのリスト外入力について(Access2002)

    お世話になっております。 ひとつお聞きしたいのですが、Accessのコンボボックスプロパティの「リスト外入力」の設定のしかたが分かりません。 コンボボックスを非連結にして、コンボボックスより選択してフィルタをかける動作と、コンボボックスに値がなかったらコンボボックスに直接入力して新しい値を元に新規にレコードを追加すると言ったロジックを組み込みたいのですが可能でしょうか?よろしくお願いいたします。 まとめると、 (1)コンボボックスより値を選択して、フィルタをかける。 (2)コンボボックスに値が無かったら、コンボボックスに直接入力して新規レコードとして、レコードを追加する こう言った、流れでの作業です。

  • accessでコンボボックスの内容を変える方法を教えて下さい。

    accessのフォームにてデータ入力画面を作成しています。 フィールド入力にコンボボックスを用いてリスト選択にしたいのですが、リストの量が膨大になってしまう為、その前のフィールド値によってリスト用テーブルを切り換えて使いたいと思っています。簡単に出来る方法があれば教えて下さい。

  • コンボボックスの値リストをクエリーでも表示する方法?教えて

    フォームにコンボボックスを作ったのですが、コンボボックスの値リストを表示するフィールドをクエリのフィールドでもリストを表示選択できるようにする方法を教えていただけませんか?

  • VBAコンボボックスのリスト選択について

    現在、ユーザーフォームを作成していますがコンボボックスでのリスト選択について質問します。 【質問内容】 コンボボックスを3つ作成し、Select Caseでそれぞれのリストを連動させるプログラムを組んでいます。 (1)3つとも選択した後で例えばリスト1を変更しようとするとエラーになってしまいます。リスト以外の文字列も入力できるようにしているつもりですがなぜでしょうか? (2)選択後、シートセルに転送した後、テキストボックスならば「.Text = ""」で一旦空白になりますが、コンボボックスの場合どうしたらよいのでしょうか? シートセルに転送後も選択した内容が残ってしまい結局(1)の事象に基づきエラーになってしまい連続入力ができません。 初歩的な質問で恐縮ですが、よろしくお願いいたします。

  • [Access2003]コンボボックスとリストボックスの違い

    今、Access2003のフォームのコントロールの作成について勉強しています。『コンボボックス』と『リストボックス』を見て、コンボボックスは、「ドロップダウン形式でスペースを節約できる点」、リストボックスは、「一覧がすべて表示される」という意味がよく分かりませんでした。 インターネットでいろいろ調べて見たのですが…. 例えば・・・・ 店名ID 店名 A A店 B B店 C C店 と『コンボボックス』と『リストボックス』が表示され、ボックスの上の選択の矢印があるかないかの違いしか分かりませんでした。 (1)Access初心者なので『コンボボックス』と『リストボックス』について簡潔に教えてくださったら助かります。もしホームページで『コンボボックス』と『リストボックス』について一目で見たら違いが分かるというものが掲載されていたら教えてください。 (2)コンボボックスの「ドロップダウン形式」がよく分からないです。

  • ACCESS リストボックスの一覧の作り方

    ACCESS2002です。 納品書を作成するフォームが、メイン・サブフォーム形式であります。 このフォームには、企業名、支店名、担当者名を選択するコンボボックスやリストボックスがあります。 企業名はコンボボックスの一覧から選択します。 企業名を選択したら、過去に納品実績のある支店の一覧がリストボックス内に表示され、その一覧から今回納品店舗を選択するようにしたいんです。 納品実績のある店舗は納品データをグループ化した納品店舗一覧をクエリーで作成し、リストボックスの元データとして設定しています。 現状は、2件以上のレコードを入力すると、新規レコードに移動して企業名を選択しても、店舗一覧はその前に入力していた企業の店舗一覧のままとなっています。 仕方がないので、いったん、フォームを閉じて、再度開いて入力をしています。 フォームを閉じなくても、新規レコードに移動したら、店舗一覧もクリアされるようにしたいんです。 皆様のお知恵をお貸し下さい。 よろしくお願いします。

専門家に質問してみよう