Access2010でフォームロード時に表示したい

このQ&Aのポイント
  • アクセス2010で、職場テーブルの情報を表形式でフォームに表示する方法を説明します。
  • 職場テーブルと社員テーブルを連携させ、コンボボックスで社員を選択すると、該当する名前がラベルに表示される仕組みを作成する方法を解説します。
  • Me.社員名.Caption = Nz(Me.社員リスト.Column(1)) のコードで名前を表示することができますが、レコード件数分表示するための方法についても考える必要があります。
回答を見る
  • ベストアンサー

Access2010でフォームロード時に表示したい

アクセス2010で、職場テーブルの情報を表形式でフォームに表示しています。例として以下とします。 職場テーブル ID、社員ID、職場、住所・・・ 社員テーブル 社員ID、名前、年齢・・・ そこで、コンボボックスを使い、社員テーブルをリスト化して選択できるようにしています。 コンボボックスには、値集合ソース(SELECT [社員テーブル].[ID],[社員テーブル].[名前] FROM [社員テーブル])を使い、IDと名前を一覧で表示しています。 このようなフォームがあった時に、フォームを読み込んだときに、このコンボボックスのとなりのラベルに、社員IDに該当する名前を表示したいと考えていますが、どのようにしたらよいでしょうか? Me.社員名.Caption = Nz(Me.社員リスト.Column(1)) このようにしても、レコード件数分を繰り返してくれるわけではないようなので、悩んでおります。 解決策をご存じの方はよろしくお願いします。

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

> このコンボボックスのとなりのラベルに、社員IDに該当する名前を表示したい とのことなので、 まず、ラベルをテキストボックスに変更します。 (ラベルのところでマウス右クリックし、コントロールの種類の変更でテキストボックス) 以下のプロパティを変更します。 「使用可能」を「いいえ」 「編集ロック」を「はい」 「コントロールソース」を「=[社員リスト].[Column](1)」 以上でどうなりますか。

ok-rjak
質問者

お礼

できました! ありがとうございます。まさにやりたかったことなので、非常に助かりました。

その他の回答 (1)

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

コンボで選んだIDの社員名を表示させたいのかな? それとも、(フォームを読み込んだときといっているから) 何か別のことをしたいのかな?

ok-rjak
質問者

補足

コンボで選んだIDの社員名はわかるんですが、フォームを表示した時に、IDに対応した名前を表示させる方法なんですが・・・ そもそも出来るんでしょうか?

関連するQ&A

  • Accessのフォームで値が見た目変更されない

    はじめまして、こんにちは。 Accessを使用して自社ツールを作成しています。 バージョン:Access2003 OS:WindowsXP フォームのレコードソースに、あるテーブルを連結させて一覧にして表示しています。 複数のコンボボックスを用意して、選択された値によって検索をかけ、 レコードソースの値を書き換えて再表示しています。 この検索はコンボボックスの更新後処理にVBAでSQLを記述して行っています。 Dim str_sql As String str_sql = str_sql & "select * from T_テーブルA where ○○コード = 1" Me.RecordSource = str_sql かなり省略していますが、実際はコンボボックスで選択された値によって SQLを生成しています。 フォームにはtxt_件数という名前でテキストボックスを用意してあります。 レコードソースを設定した後に、同じ条件でカウントし件数を表示しようと しているのですが、これがうまくいきません。 Me!txt_件数 = Nz(DCount("*", "T_テーブルA", "○○コード = 1"), 0) 件数が1件でもある時は正しい値が表示されます。 0件の場合は前回の表示のまま見た目上かわりません。 例) 1回目の検索で200件→テキストボックス[200]と表示 2回目の検索で0件→テキストボックス[200]と表示 3回目の検索で10件→テキストボックス[10]と表示 このような感じです。 ただし、実際は正しい値[0]が設定されているみたいです。 別のウインドウを一度フォームにかぶせて避けると[0]になりますし、、 2回目で[200]と表示されているものをコピーすると[0]がコピーされます。 Me!txt_件数 = Nz(DCount("*", "T_テーブルA", "○○コード = 1"), 0) If Me!txt_件数 = 0 Then Me!txt_件数 = 0 End If 馬鹿げていますが、このようにしても正しく[0]が表示されませんでした。 Accessを再起動しても状態は変わらず、困っています。 環境の問題でしょうか? 解決策など解る方いらっしゃいましたら教えてください。 よろしくお願いいたします。

  • アクセスでのリスト表示について。

    アクセス初心者です。フォームのコンボボックスにテキストボックスをつけて、コンボボックスには担当者コードテキストボックスには=cmb_担当者.column(1)等と書いて、担当者名をcolumnで表示するのは可能ですよね。リストボックスの中で一覧表を作成したのですが、今は数値ばかりが見えていて、訳が分かりません。テーブルへのデータはほとんど数値で入っていくようにしています。columnが使えたら、テキストでも表示されるので見やすくなると思うのですが、クエリでのcolumnの作成は可能なのでしょうか?

  • アクセス/フォームでの名前の選択入力

    アクセス2000 住所テーブルに名簿ID、名前、ふりがな、フィールド有り。 売上伝票フォームの名前欄にコンボボックスを作って名前のリストを表示させ選択入力しています。 住所テーブルの名前が100を超えるようになったので、売上伝票フォーム上に、よみ(ふりがなの2文字位を入れる)欄を作って、上記コンボボックスで表示する名前を”よみ”で絞り込みたい。 "よみ"欄など作る必要がなければその方法でよいです。 アクセス幼稚園生です。このWebの過去の履歴の中に有るのかも知れませんが、よろしく。

  • Access フォーム コンボボックス

    フォーム上のコンボボックスの選択したデータをテーブルに保存するにはどのようにすれば宜しいのでしょうか? 実際のものは、社員が複数人表示されていまして、その社員一人一人が1日ごとの出勤が可能か不可能かをコンボボックスから選択しテーブルに書き込みたいのですが、その社員一覧のテキストボックスと出勤可・不のコンボ(コントロールソースにてテーブルの各日付ごとに設定)をフォームに作ったところ、社員一覧と社員に対するコンボがずらっと表示さるのですが、コンボを選択しようとしますと下部に「このコントロールは式○○に連結しているため編集できません。」と表示されます。 長文になり、尚且つかなり分かりづらい説明で申し訳ございませんが宜しくお願い致します。

  • Accessのフォームについて教えて下さい

    Access 2010のフォームについてお教え下さい。 テーブルにはテーブル名T1、フィールド「ID」、「Price」というテキストボックス。2フィールドがあります。 テーブルの各データは、 ID,Price 001,100 002,200 003,300 フォームにはにフォーム名F1、「cmb」というコンボボックスと、「price」というテキストボックスが配置されています。 「cmb」のデータは値集合ソースで、「SELECT T1.ID FROM T1;」と指定しています。 「cmb」で選択したデータのプライスを「Price」テキストボックスに表示したいと思います。 例えば、「001」を選択したら、「100」と表示されるようにしたいと思います。 色々調べているのですが、どうやってやるのかわかりません。どのように実現したらよろしいでしょうか? よろしくお願いいたします。

  • アクセスのコンボボックスでの〇×表示について。

    担当者フォームがあります。 クエリをもとにした担当者リスト一覧があります。 非連結のフォームがあります。 担当者フォームには担当者コード、担当者名、パスワード等があり、〇×選択で、参照・更新・保守があります。このフォームで新規登録。修正。削除ができるように作成しました。list_TANの中で項目をクリックすると、非連結のフォームにデータが入っていきます。 Private Sub list_TAN_AfterUpdate() Me.担当者コード = Me.list_TAN.Column(0) Me.担当者名 = Me.list_TAN.Column(1) Me.担当者かな = Me.list_TAN.Column(2) Me.パスワード = Me.list_TAN.Column(3) ' Me.参照 = Me.list_TAN.Column(4) If Me.list_TAN.Column(4) = "○" Then Me.参照 = 1 Else Me.参照 = 0 End If If Me.list_TAN.Column(5) = "○" Then Me.更新 = 1 Else Me.更新 = 0 End If If Me.list_TAN.Column(6) = "○" Then Me.保守 = 1 Else Me.保守 = 0 End If Me.cmd_登録.Enabled = False Me.cmd_修正.Enabled = True Me.cmd_削除.Enabled = True Me.cmd_クリア.Enabled = True で、非連結のフォームにはいっていくことはできたのですが、参照・更新・保守については、コンボボックスになっていて、値リストの集合タイプには1;○;0;×と記入してあります。 参照が〇となっていても、非連結に入ってくるのは×になってしまいます。〇→×、×→×。なのでまた入れなおさなきゃいけません。他の情報についてはうまく入っていってくれるのですが、コンボボックスの〇×だけが上手くいきません。どのようにすればきちんと表示できますか??分かる方いましたらご教示ください。宜しくお願い致します。

  • Access vba 教えてください。 初心者です

    以下のような テーブルT_ソフトリスト、テーブルT_ソフト フォームF_入力 があったときに、フォームの使用者のコンボボックスに入力をしたときに、 T_ソフトから使用者を探して、ソフトリストIDを取得し、そのソフトリストIDを元にT_ソフトソフトのソフト名をフォームのコンボボックスに表示させるようにしたいのですが、 どの様なソースコードを書けばよいでしょうか? 「T_ソフトリスト」←テーブル ================================== ID  | ソフト名 | ────────────── 1   | A |  2  | B |  3  | C |  4  | D |  5  | E |  ================================== 「T_ソフト」←テーブル ================================== ID |ソフトリストID | 使用者 | ─────────────────── 1 |  4     | 佐藤  | 2 |  2     | 鈴木  | 3 |  5     | 斉藤  | 4 |  1     | 佐藤  | 5 |  3     | 田中  | ================================== 「F_入力」←フォーム ================================== 使用者  [コンボボックス]←Combo_UserType ソフト名 [コンボボックス]←Combo_User ==================================

  • Accessのフォーム その2

    すいません、以前にも同じ質問をしたのですが、私の質問の仕方が悪くてうまくいきませんでした。 回答してくださった方、ありがとうございました! もう一度、詳しく質問しなおします。 顧客データを登録しているのですが、テーブルを元に登録フォームを作成しました。 商品がたくさんあって、4つのコードに分かれています。フォームの中に[A][B][C][D]と4つのコンボボックスを作成し、絞込み検索ができるようにはしました。 しかし、選んだデータの[A]しかテーブルに表示されません。例えば[A]のコンボボックスの中から[1010]を選択、[B]のコンボボックスから選択しようとしても空っぽです。 テーブルを見ると、[A]で選んだ[1010]だけが表示されています。 非連結のときはうまく出てたんですが・・。 もしかして連結列が間違ってるのでしょうか?? 元になるテーブルは Aコード A  Bコード B Aコード Cコード C Bコード Dコード D Cコード この2列目を表示したいのです。(2列目が[1010]など表示したいデータ) 列数はそれぞれ「2」で連結列は「2」です。 更新後処理は以下の通りです。 Private Sub コンボ0_AfterUpdate() Me!コンボ2.Requery End Sub Private Sub コンボ2_AfterUpdate() Me!コンボ4.Requery End Sub Private Sub コンボ4_AfterUpdate() Me!コンボ6.Requery End Sub ぜひよろしくお願いします。

  • Accessのフォームで

    教えてください。下のようなテーブルがあり、これを元にフォームを作成したいのですがいい方法が見つかりません。 【テーブル】  品物テーブル(品物ID、品物、製作所)  社員テーブル(品物ID、社員コード、氏名) このテーブルを元にして下のようなフォームを作りたいのです。 【フォーム】  品物ID [テキストボックス]  品物 [テキストボックス]  製作所 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス] ※社員コード、氏名が3つあるのは、同じ品物を3人が作成することがあるため。(この部分で悩んでいます) このようなフォームを作ることは可能でしょうか? また参考になるようなサイトなどあれば教えてください。 よろしくお願いします。

  • Access2007 サブフォームの新規レコードをすぐにフォームに表示させる方法

    サブフォーム上で適当なレコード(IDと商品名)を選択して、そのレコードにある入力ボタンを押すと、フォームのコンボボックス上にその商品名が出るようなフォームがあります。 すでに入力済みのIDと商品名は表示されます。 ところが、サブフォーム上でIDと商品名を新規入力して入力ボタンを押すと、フォームのコンボボックスは空白となり、商品データが表示されません。 しかし、一旦フォームを閉じて開くと、データは表示されています。 IDと商品名を新規入力して、そのままフォームのコンボボックスに反映させたいと思います。 入力ボタンはこのようにやってみました。 Private Sub 入力_Click() DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 Forms!フォーム!ID = Me.ID End Sub または、 Private Sub 入力_Click() DoCmd.RunCommand acCmdSaveRecord Forms!フォーム!ID = Me.ID End Sub ご教授いただければ幸いです。よろしくお願いいたします。

専門家に質問してみよう