• ベストアンサー

顧客IDを入力すると顧客名や住所が表示されるように

Accessで、フォームから顧客テーブルにある顧客IDを入力すると、同じフォーム内にある「顧客住所」や、「電話番号」など、顧客テーブルに登録してある情報が表示されるようにするには、どうすれば良いでしょうか? 環境は WindowsXP Access2003 です。

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

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

顧客番号を入力すると、テーブルにある情報(顧客住所)を表示したい, ということは検索(選択)の要素があることは判りますね。 形式にこだわらなければ、選択クエリのパラメータクエリで本件は 出来ることも知ってますか。 フォームの場合、質問で言うテーブルを新規の段階で指定すると、連結してしまって 旨く顧客番号を指定することが難しくなる。 ーー 其れで、フォームに非連結で、3つのテキストボックスを設ける。 検索スタート用のコマンドボタンを設ける方が良いだろう。 ボタンをクリックしたとき、ということなので「イベント」を使わざるを得ない。 1つは顧客番号入力等のテキストボックス、あと2つは顧客番号でテーブルを 検索し情報を表示する。今のところは、1顧客番号で、テーブルで1レコードとする。 ーー 例データで説明。 社員2 テーブル ID 氏名 住所 電話番号 1 山田 三郎 東京都大田区 03-2345-6543 2 大島 義男 東京都品川区 042-2345-2345 3 下田 茂      仙台市青葉区 0720-34-3456 4 小出 健二 名古屋市緑区 042-345-2345 5 中田 卓     福岡市北区 07523-23456 6 山田 三郎 大阪市北区 7 中田 卓     東京都豊島区 8 今村 三郎 奈良市西大寺 075-234-1234 9 木見 明     和歌山市     076-111-1111 10 木見 研     新宮市     083-123-1234 ーー フォーム      テキスト3      テキスト1      テキスト5             コマンド0(ボタン) 3,1,5は私の場合であって、実際質問者の場合の名前で下記コードの テキスト3 などの数字を変えてください。 ーーー ボタンのクリックイベントに Private Sub コマンド0_Click() テキスト3.SetFocus Dim SQL As String SQL = "SELECT 氏名,住所 " SQL = SQL & "FROM 社員2 " SQL = SQL & "where 社員2.ID = " & テキスト3.Text Me.RecordSource = SQL Me.テキスト5.ControlSource = "氏名" Me.テキスト1.ControlSource = "住所" End Sub ---- テキスト3に7 と入れてボタンをクリックする。 ーー フォームの結果は   7   東京都豊島区   中田 卓 と なります。 ーーー VBAを使っていますが、使わない回答が出るかどうか。 本質問は、基本的なことで、たやすいようで難しいと思う。

関連するQ&A