- 締切済み
[Access2013]リストボックスの値指定
以下の様な事をしたいと思っていますが上手く行きません。 上手くいく方法はありますでしょうか? テーブル1 id 名称 →列名 1 みかん 2 りんご 30 トマト 上記の様なテーブルがありそれをフォーム上に配置したリストボックス(複数選択可)の値集合ソースにしています。 リストボックスから入力した値は、みかんのみを選択した場合は「1」、みかんとりんごを選択した場合は「1;2」とDBに保存しています。 (この部分は想定通りの動きをしています。) 入力用フォーム以外に、別フォームのデータシートビューで一覧表示をしています。 そこで上記リストボックス値でDBに入っている「1」や「1;2」を「みかん」や「みかん;りんご」と表示したいと思っています。 データシートビューにもリストボックスを配置し、値集合ソースは入力フォームと同じテーブル1に、コントロールソースを「1;2」が入っているフィールドにしましたが、「1」のみの場合は選択状態で表示されますが、「1;2」の場合未選択になってしまいます。 やりたいことは、ここで入力をするつもりはありませんのでただ文字列として「みかん;りんご」が出てくればいいです。 ただ、一々フォームロードなどでSQL文(+ループ処理)を書くと件数が数万件は少なくともあるのでロード時の待ちが長くなりそうです。 また、リンクテーブルマネージャで外部DBと接続しているので、テーブル定義をAccess独特のものに変更するのは難しいです。 idは自然増加に任せており桁数はまちまち、複数選択の個数も1~数十と様々です。 質問内容 ・リストボックスのコントロールソースにて複数値を指定する方法はありますか?(そもそもとして、そういうことが出来ないものなのでしょうか? また,区切りに変更、splitで配列化等はすでに行って駄目でした。) ・処理時間に影響が少ない方法で「みかん;りんご」とデータシートビューに表示する方法はありますでしょうか? ・例えばリストボックスを使用せずテキストボックス等に変更してコントロールソースでselect 名称 from テーブル1 where id in Replace("1;2",";",",")の様な事をした結果複数件出た場合は区切り文字で区切って全部出す等を可能なのでしょうか? よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- chayamati
- ベストアンサー率41% (255/611)
- chayamati
- ベストアンサー率41% (255/611)
- chayamati
- ベストアンサー率41% (255/611)
- chayamati
- ベストアンサー率41% (255/611)
- hatena1989
- ベストアンサー率87% (378/433)
- hatena1989
- ベストアンサー率87% (378/433)
関連するQ&A
- アクセス コンボボックスのリストの条件を指定する
コンボボックスで表示されるリストを条件に応じて色々に変更できますか? テーブル1 ID 種類 品名 1 やさい 白菜 2 やさい にんじん 3 くだもの りんご 4 くだもの みかん フォーム1 種類 やさい 品名 ___ コンボボックスリスト 白菜 にんじん 現在は、コンボボックスのリスト(値集合ソース)を テーブル1に指定しておりますので、4個全部表示されてしまいますが、 これを、上で入力した「やさい」を参考にして 「やさい」に該当する「白菜」と「にんじん」しか表示されないようにしたいのです。 よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- リストボックスの複数選択について
ACCESS2003を使っています。 入力用フォームにリストボックスを作って 複数選択するようプロパティで変更しました。 この情報をテーブル上に反映させることができません。 どうしたらいいのかお教えください。 具体的には 入力用フォームに りんご(*) みかん かき(*) スイカ (*)印は黒反転 この状態で入力するとテーブル上に りんご かき というように表示するようにしたいのです。
- ベストアンサー
- オフィス系ソフト
- コンボボックスの値が消えてしまいます。
コンボボックスの値が消えてしまいます。 フォーム(1)にコンボボックスA(値集合ソースはテーブル1)があります、この リスト外入力時で別フォーム(2)(レコード追加用)を開きテーブル1にレコードを追加、 フォーム(2)を閉じる時にコンボボックスAをリクエリかけてフォーム(1)に戻るとコンボボックスAが空になっているのでリストを開き選択し直さなければいけません! フォーム(1)に戻った時コンボボックスAに入力した値を選択させておくにはどの様にすれば良いか アドバイスよろしくお願いいたします。 WIN XP ACCESS 2003で作成しています。
- ベストアンサー
- その他(プログラミング・開発)
- リストボックスについて
VBA初心者です。 VBAで以下の処理に大変困っております。 <処理内容> 1.リストボックスにある値を選択して、OKボタンを押す。 2.「1.」で選択した値をセルA1に出力。 3.「1.」で選択する値が複数ある場合は、セルA1の値は コンマをつけて出力。 <例1> ----------------------- <リストボックス1> みかん りんご トマト aaa01 ----------------------- ・選択が一つの場合 「みかん」を選択して場合、OKボタンを押す。 セルA1への出力内容 みかん ・選択が複数の場合 「みかん」、「トマト」、「aaa01」を選択して、OKボタンを押す。 セルA1への出力内容 みかん、トマト、aaa01 ※ユーザフォームの処理です。 まったくわかりません。 明日中に仕上げなければいけないため大変困っております。 どなたか御教授をお願い致します。 宜しくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- Accessでチェックボックスからの入力を受け付けない
お世話になります。 Access2003を使い、フォームにチェックボックスを作りました。 チェックボックスの値をテーブルに反映させるために、「チェックボックス」-「プロパティ」-「コントロールソース」より、該当テーブルの列を指定しました。 フォームビューにて、チェックボックスをクリックすると「このフォームは読み取り専用です」と言われ、チェックボックスへの操作は拒否されてしまいます。 どのようにすれば、フォームのチェックボックスから入力した値が、テーブルに反映できるのでしょうか? なお、該当テーブルの列はyes/no型に指定しています。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- リストボックスで表示されている値を取得したい!
たびたびお世話になります。 まだまだ勉強中で、調べても分からないので、質問させていただきます。 よろしくおねがいいたします。 Smarty + php で画面をつくっています。 リストボックスに、phpで設定した値をだしています。 設定しているのはKey と 値です。 0 りんご 1 みかん のように。 画面でリストボックスから選択すると、りんご やみかん のように値がみえますが、PHPで値を取得すると 0 や 1 のKeyです。 PHP側での処理で、Key と 値の両方を使いたいのです。 このため、画面のリストボックスの横にhiddenでテキストボックスを追加し、選択されたタイミングでTPL内のJavaScriptで、値をテキストボックスに設定し、画面終了時にPHPへPOST渡しをしようと考えました。 <select onblur="fnGetName(this)"~ とすると、キーの方しか取得できません。 どうすれば、和名(値)を取得できるのでしょうか 説明が下手ですみません。 よろしくお願いいたします。
- ベストアンサー
- JavaScript
- 【Access】コンボボックスの値の変更方法
フォームにコンボボックスを配置し、下記の動作をさせたいと思ったのですが、1は出来たものの2が出来ませんでした(値集合ソースの中身は表示されるものの、選択してもコンボボックスに反映されませんでした)。 1. フォームオープン・・・データベースのcmb1の値より、対応する文字をコンボボックスに表示する。 2. コンボボックスの値の変更・・・プルダウンから値集合ソースに表示されている任意の値を選択し、コンボボックスに設定する。 その為、どうすれば値を変更できるようになるかアドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします。 なお、初期状態から下記を変更しております。 【テーブル】 テーブル名:tbl フィールド名:ID,cmb1 値:1,2 【フォーム】 フォーム名:form1(コンボボックスを一つ配置) フォームのレコードソース:SELECT Choose(tbl.cmb1,"A","B","C") AS nm_cmb FROM tbl WHERE (((tbl.ID)=1)); コンボボックス 列数:2 列幅:0cm;3cm コントロールソース:nm_cmb 値集合タイプ:値リスト 値集合ソース:1;A;2;B;3;C 連結列:2 上記の状態で起動時のコンボボックスの中身は"B"と表示されるものの、コンボボックスのプルダウンメニューを表示して値を変更しようとしても出来ない事が確認できると思います。 以上、よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- ACCESS.ルックアップの値以外を受け付けないようにしたい。
ACCESS2007を使用しています。 テーブルのフィールド設定でルックアップを設定しています。 表示コントロール:コンボボックス 値集合タイプ:値リスト ここで、値集合ソースにリストしたもの以外はテーブルに格納されないように したいのですが、可能でしょうか? 「入力チェック」を「YES」にしているのですが、 この場合でもテーブルでの直接入力やフォームを使用しての入力ではエラーがでますが、 Excelからの複数セルまとめてのコピー&貼り付けを行うと貼り付けられてしまいます。 解決する方法がありましたら教えてください。
- ベストアンサー
- その他MS Office製品
- アクセスのテーブルに入力規則を設置したい
アクセスのテーブルに入力規則を設置したいのですが デザインビューのルックアップタブの 表示コントロールをコンボ ボックス 値集合タイプを値リスト 値集合ソースを:10;;20;;30 にしました。 これで、テーブルビューで値を入れる時に、10と20と30から選択できるようになりましたが この3つの数字以外は入力できないようにしたいです。 再度デザインビューで、入力規則という項目を見つけましたが このような場合、どういう指揮を作ればいいでしょうか?
- ベストアンサー
- その他MS Office製品
- Accessのコンボボックスで関数を使用したい・・・
Accessのコンボボックスで関数を使用したいのですが、無理でしょうか? 例えば、「りんご」または「みかん」を選択するコンボボックスの場合、 値集合タイプ→値リスト 値集合ソース→"りんご";"みかん" で出来ますよね。 今回作りたいのは、「前月」と「当月」と「次月」を選択するコンボボックスです。(PCのシステム日付を「当月」にして、その前後1ヶ月を「前月」と「次月」にしたい) 値集合タイプ→値リスト にして 値集合ソース→の中でDate関数を使おうとしているのですが、 実際にやってみるとそのまま「Date()」と表示されてしまいます。 やはりVBAを使わないと無理でしょうか? おわかりの方、回答よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
補足
補足が遅くなってすみません1、2というのは主キー項目です。