• ベストアンサー

リストボックスをクリックすると、他フォームに値代入

データベース超初心者です。VBAの知識がほとんどないので、初歩的な質問だと思いますが、よろしくお願いします。 フォームは2つ「入力」と、「コード選択」 (1)フォーム「入力」にあるテキストボックス「商品コード」をダブルクリックすると、フォーム「コード選択」を開く (2)フォーム「コード選択」にあるリストボックス「コードリスト」をダブルクリックすると、商品コードが、フォーム「入力」のテキストボックス「商品コード」に代入される。 ちなみに、コードリストは、2列で、商品コードと商品名が表示されるようになっています。 わかりにくい質問かもしれませんが、どうぞよろしくお願いします。

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

  • ベストアンサー
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.1

コード選択画面のリストボックスの値の保持の仕方によって多少変更が必要になりますが、 入力画面側で Private Sub テキスト_DblClick(Cancel As Integer) DoCmd.OpenForm "コード選択" '「コード選択」フォームを開く End Sub で「コード選択」フォームを開き、 「コード選択」フォームで Private Sub リスト_DblClick(Cancel As Integer) Forms![入力]!テキスト = Me.リスト.Value  '.Text?   DoCmd.Close acForm, Me.Name '自分のフォームを閉じる End Sub こんな感じでしょうか?

MIU1203
質問者

お礼

ありがとうございます!! 思っていた通りの結果が出ました。 本当に助かりました。 コード選択フォームを閉じるところまで設計されていて、自分の思った以上のフォームになりました。 また機会がありましたら、ぜひよろしくお願いします。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

私のテストの場合フォームを2つ作った。 フォーム9 フォーム11 ーーー フォーム9にはテキストボックス(テキスト0) とコマンドボタン1つ。そのコマンドボタン(コマンド2)のCaptionは[コード選択]とする。 コマンドボタンのクリックイベントに Private Sub コマンド2_Click() Me.Visible = False DoCmd.OpenForm "フォーム11" End Sub ーー フォーム11には リストボックス(リスト0)を設ける。 そのクリックイベントに Private Sub リスト0_Click() MsgBox Forms("フォーム11").リスト0.Value Forms("フォーム9").Visible = True Forms("フォーム9").テキスト0.SetFocus Forms("フォーム9").テキスト0.Text = Forms("フォーム11").リスト0.Value Me.Visible = False End Sub ーーー フォーム9を表示し、コマンドボタンをクリックするとフォーム11が開き、リストボックスのアイテムを1つクリックして選択すると、フォーム9のテキストボックスに選択したアイテムが表示された。 リストボックスは値リストで1列でテストをやりました。 クエリでアイテムを表示し1列を2列にし、テキストボックスにも 商品コードか商品をセットするよう改良してください(略)

MIU1203
質問者

お礼

コマンドボタンを作成する方法なのですね。 一度やってみたいと思います。 ありがとうございました。

関連するQ&A

  • フォームを利用したテキストの代入

    お世話になっております。 こんな事ができるのかわかりませんが、ご相談させて下さい。 今伝票入力のシステムを作成しているのですが、 あるフォームAにテキストB(取引先コードとします)があります。テキストBをダブルクリックするとフォームC(取引先コード検索)が開きます。 フォームC上にテキストD(取引先名)があり、取引先名の一部を入力し、入力した名称に対応する取引先コードが(リストボックス等)表示され、 表示されたリストボックスの該当部分を選択するとフォームAのテキストBに反映するみたいな事ができればと思っています。 別途。検索画面を作成して、そこでコードを調べて、そのコードをフォームAに戻り入力するという手もありますが、 相談させていただいている方法のほうが便利なような気がするので、なんとかならないかなと思っているところです。 実現不可能であれば、別途考えますが、もしご存知であれば教えていただければと思っております。

  • リストボックスで選択したレコードの表示

    受注管理システムをAccess2000で開発しています。商品選択のリストボックスのみのフォームを作成、その商品をダブルクリックすると、例えば受注入力のフォームに自動的に商品IDが入っていくようにしてあるのですが、この商品選択のフォームを、別のフォームでも使いたいのです。商品の原価入力フォームとか。だけれども、商品選択フォームダブルクリックのところに[Forms]![受注入力フォーム名].[code] = [Forms]![商品選択フォーム名].[interior]というようにフォーム名を書いてしまっているので、使いまわしはできないのでしょうか?どういう条件を書けば、違うフォームにもダブルクリックすると商品IDが入っていくのでしょうか?教えてください。

  • 【ACCESS】リストボックスに抽出してからテキストボックスに代入するには?

    ACCESS2003、初心者です。 医療事務のデータベースを作っています。 予約フォーム(frm予防接種予約)を作っていますが、次の(1),(2)の作業がうまくできなくて困っています。 (1)リストボックスへの抽出(検索ボタンを押すまではリストボックスの中は空の状態) frm予防接種予約のフォームで非連結テキストボックスに生年月日を入力して、検索ボタンを押す ↓ tbl患者個人票テーブルの生年月日と一致するレコード(氏名や住所)をリストボックスに表示させたい。 (2)表示されたリストボックスの中のレコードをクリックすると、そのレコードが氏名や住所に代入される。 一連の作業をfrm予防接種予約フォーム上で行いたいのですが、どのようにしたら良いのでしょうか?

  • 選択項目移動処理(リストボックス)

    表題の件で、ご質問があります。 excel2003で、VBAのユーザフォームを使っております。 リストボックスが二つあり、左の項目を選択したら右の項目にその選択した値が移動する処理をしたいのですがまったくできません。 <処理内容> ・リストボックス1の内容 りんご text メロン トマト 上記で、りんごをダブルクリックするとリストボックス1とリストボックス2の内容は以下になります。 <選択後結果> ・リストボックス1 text メロン トマト ・リストボックス2 りんご このようにダブルクリックしたらりんごは消えてリストボックス2に移動します。 また逆の処理もしたくたとえばこの状態でリストボックス2を選択したらりんごがリストボックス1に戻る。 <処理内容> ・リストボックス2 りんご ・リストボックス1 text メロン トマト リストボックス2をダブルクリックすると以下のようになります。 ・リストボックス2 ・リストボックス1 りんご text メロン トマト このようになります。 上記二点の処理がしたいと思います。 どなた様か御教授頂けないでしょうか? お手数お掛けしますが宜しくお願いします。

  • エクセル VBAのリストボックス

    エクセルのVBAでユーザーフォーム上のリストボックスに文字を入力すると候補がドロップダウンリストに表示され、候補から一つを選択するとドロップダウンリストをとじるといったコードを教えてください。ただし、最終的にリストボックスの値はリストから選ぶのみで、文字を入力するのは候補を表示するためだけに使いたいのです。どなたか、ご教授願います。

  • リストボックスから選択したデーターの一つだけを取得する

    VB5.0を使っています。 WIN2000です。 MDBとVBを使っています。 まず、顧客ID・顧客氏名・電話番号  この3つが1つのデータとして横並びの文字列で、リストボックスに表示されてゆきます。 リストボックスに表示したデータを選択し、その選択したデータの”顧客ID”だけを取り出して同じフォーム内のテキストボックスにいったん出し、そこから別のフォームに飛んでその”顧客ID”を元にデータの詳細を出す、といったものを作っていますが、 今のわたしの書いてるコードだけでは、何番の顧客IDを出しても、 別のフォーム(契約入力)に行くときには同じ1番の人のデータ詳細しか出ません。 「リストボックスから選択したデーターの一つだけを取得する」 には、どのようなコードを書けばいいか、教えていただけないでしょうか・・。 リストボックス(List1)から選択してテキストボックス(Text5)に取得する際にはすでに”顧客ID”だけを取り出したいのです。 今のコードでは、顧客ID・顧客氏名・電話番号 とすべてテキストボックス(Text5)にでてきてしまいます。 Private Sub cmnd2_Click()’選択ボタンclickでリストボックスのデータを取得。 Dim ListIndex As Integer Dim SelectedIndex As Integer Text5.Text = List1.List(List1.ListIndex)'→ここでリストボックスからデータを取得しています。 End Sub

  • テキストボックスにクリックしたものを代入する

    授業評価アンケートのデータ収集システムを卒研で作っています。 あるページ、(test.php)に 学年・クラス etc 科目名/科目コード:[textbox1]/[textbox2] 参照 etc というような行を作ります。 「参照」にリンク先として、 kamoku.html という、 学年・クラス・科目名・科目コード という項目のある表を表示します。 参照をクリックすると、新しいタブで kamoku.html が開きます。(これはできました) このページ内の表をユーザに見て頂き、 test.php にて科目名・科目コードを入力してもらおうと考えました。 しかしそれでは入力ミスも生じてくると思いますで、 表内の、ある科目名をクリックすると、 test.php の科目名のテキストボックス(textbox1)にその文字列(科目名)が代入され、 科目コードも同様にテキストボックス(textbox2)にその文字列(科目コード)が代入される というのはできませんでしょうか? そうすれば入力ミスもなくなりますので。 どなたか教えてください! お願いします!

    • ベストアンサー
    • PHP
  • VBAコンボボックスのリスト選択について

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

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

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

  • mysql+php リストボックスについて

    リストボックスを使ってmysqlのテーブルから データを得たデータをテキストボックスに入れる方法で悩んでいます。 やりたいことはこんな感じです。 [商品A▼]←リストボックス リストボックスの内容は               データベースより取得 [230 ]円←テキストボックス mysqlテーブル 商品  値段 商品A 230 商品B 460 商品Aを選ぶと自動的にテキストボックスに値段が 入るようにしたいのですが・・リストボックスの データを拾ってくることはできるのですが、テキスト ボックスに入力することができません。やり方を ご教授お願いします。

専門家に質問してみよう