• ベストアンサー
  • 困ってます

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

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

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数430
  • ありがとう数2

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

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

>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つのフィールドに格納したいってことでしたので。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

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

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

  • ACCESS リストボックスからの選択で

    ACCESSでフォームを作っています。 その中で、条件にあるデータをリストボックスで一覧表示し、その中からデータを選択して、【実行】ボタンで、次のフォームを開くようにしています。 そのときにリストボックスから何も選択していない場合、エラーメッセージを返したいのですが、「選択していない」というのをどうやって判断すればよいでしょうか。 よろしくお願いします。

  • ACCESSのリストボックス抽出について

    ACCESSにおいて、住所録テーブルを用意します。 フォーム上で県、市のリストボックスを作ります。 住所録テーブルには県と市のフィールドを作り、県名と市名を入力しておきます。クエリを用意し、リストボックスの県で例えば東京を指定するとそれに該当する市が抽出されて市のリストボックスから選択できるようにしたいのですがクエリ上では表示されるのですがリストボックスに反映されません。 どのようにすれば出来るのでしょうか。 (ちょうど教えて!gooで質問する際にカテゴリーの大分類から小分類を選択する時のようにです。)

その他の回答 (3)

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

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

共感・感謝の気持ちを伝えよう!

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

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

共感・感謝の気持ちを伝えよう!

質問者からの補足

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

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

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

共感・感謝の気持ちを伝えよう!

質問者からの補足

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

関連するQ&A

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

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

  • リストボックスの複数選択について

    ACCESS2003を使っています。 入力用フォームにリストボックスを作って 複数選択するようプロパティで変更しました。 この情報をテーブル上に反映させることができません。 どうしたらいいのかお教えください。 具体的には 入力用フォームに りんご(*) みかん かき(*) スイカ   (*)印は黒反転 この状態で入力するとテーブル上に りんご かき というように表示するようにしたいのです。

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

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

  • accessでのリストボックス選択のイベント

    お世話になります。 度々で恐縮なのですが、以下の質問を よろしくお願いいたします。 accessのフォーム上にリストボックスとテキスト ボックスをはりつけ、リストボックスに表示されて いる行が選択されたら、その項目値をテキスト ボックスに表示させようとしています。 しかし、リストボックスのイベント(マウスボタン クリック時や開放時)を使ってみたのですが、 二度クリックしないとテキストボックスに表示され ません。 リストボックスの行が選択されたというイベントが あればいいのですが、見当たりません。 どうすれば、リストボックスで行が選択されたという イベントを捕まえることができるのかご教示お願い いたします。

  • ACCESS2013リストから選択してデータの入力

    ACCESS2013で下記のような名前の3つのテーブルがあります。 T会社名、T摘要名テーブルには既にデータが入力されており、 この入力された値を元にT支払にデータを入力することを考えています。 T支払で会社名をA社と入力したら、摘要名はT摘要名テーブルを参照して、A社の摘要名の中からだけリスト選択を行いたいのですが、どのような手順を踏めばよいでしょうか? T会社名(フィールド値に会社名を持つ) T摘要名(フィールド値に会社名と摘要名を持つ) T支払(フィールド値に会社名と摘要名を持つ) 選択クエリを使って、抽出条件を使えばできると聞いたことがありますが、いまいち理解できませんでした。どのテーブルで、あるいはクエリ、フォームを新たに作って、どのような操作を行うのか具体的に教えていただきたいです。よろしくお願いします。

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

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

  • ACCESSフォームのリストボックスでレコードが選択できない

    ACCESS2000です。 フォームの左側に親テーブルのフィールド1の値を選択させるリストボックスがあり、そこで選択したレコードにリンクする子テーブルのレコードをフォームの右側にサブフォームで表示させたいのですが、リストボックスでレコードを選択できません(クリックしても反転しません)。でもレコード移動ボタンを押すと、リストボックス内の該当レコードがちゃんと反転し、右側のサブフォームにも正しく反映します。 リストボックスのプロパティはくまなく見ましたがそれらしい設定項目はみつかりませんでした。どこを直せばよいのでしょうか。

  • Accessのフォームで必須入力など

    お世話になってます。 Access2003を使って、簡単な入力フォームを作っています。 そこで、A・Bというフィールドが存在するとして、Aはコンボボックスのフィールドで、「パターン1」と選択すると、Bのフィールドは選択はできずに、「パターン2」と選択すると、Bのフィールドが選択できるようにするのには、どのような設定が必要になるのでしょうか? どうぞ、よろしくお願いいたします。

  • ACCESS2003 リストボックスについて教えて頂けませんか?

    こんにちは、何度も助けていただいているのですが、 また、わからないことがありまして進めなくなってしまいました。 どなたかアドバイス頂ければと思います。 現在Access2003にて会社の勤務表を作成するという課題に 取り組んでおります。 今回の疑問点は 入力用のフォーム フォーム1にはユーザー名コンボボックス、 日付Calendarコントロール、出社時間、退社時間、作業時間、 作業内容テキストボックス、登録、クリアコマンドボタン、 勤務状況表示リストボックスの各コントロールがあります。 登録をする際には各コントロールを選択ないし入力をし、 登録ボタンで各コントロールの値を勤務状況表示リストボックス に表示するようになっています。(1日分の登録を1行で表示。 登録状況に関わらず1ヶ月毎に表示しているので、まだ何もしていなく ても1ヶ月分の31行が表示されており、毎日登録をしていくことで 時間などがうまっていくようになっています。) ここまでは何も問題ないのですが、 勤務状況表示リストボックスに表示されている任意の日付、 例えば8日の行を選択した時に8日の行に表示されている ユーザー名、日付、出社時間、退社時間、作業時間、作業内容を 入力をした各コントロールと連動し表示させるようにしたいのです。 いろいろ調べてはいるのですがなかなかいい方法が見つかりません。 今の段階では1日の行しか選択できない状態です。 どなたかよい方法をご存知ありませんでしょうか? よろしくお願いします。

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

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

専門家に質問してみよう