電子書籍の厳選無料作品が豊富!

テーブルにある
ID 名前 誕生日 住所
データをフォームで
IDをコンボボックスで選択し
テキストボックスA,B,Cに
名前、誕生日、住所を表示させたいのですが
どの様な処理を行なえばよろしいのでしょうか?

A 回答 (2件)

> ID 名前 誕生日 住所


がコンボボックスの列で、[ID] を連結列としているならば

> テキストボックスA,B,Cに
は保存しなくて良いのでしょうから、それぞれのコントロールソースに
=dlookup("名前","テーブル名","id=" & me!コンボボックス名)
=dlookup("誕生日",・・・
=dlookup("住所",・・・
とか
=[コンボボックス名].[column](1)
=[コンボボックス名].[column](2)
=[コンボボックス名].[column](3)
など
    • good
    • 0
この回答へのお礼

上手くできました!
ありがとうございます。

お礼日時:2006/10/01 07:24

コンボボックスの「値集合ソース」に、


テーブルまたはクエリーを連結させます。
テーブルの直連結より、クエリーを作ってかませたほうがいいと思います。
次に「更新後処理」のイベントプロシージャーで、
データベースより各項目「名前 誕生日 住所」
をフォームの項目に代入します。
ID更新後に、IDを使ってDBを読んで、各項目を拾います。
以下サンプルコード。
Private Sub ID_AfterUpdate()
On Error GoTo Err_ID_AfterUpdate

Dim criterion As String, mydb As Database, myset As Recordset
Dim F As Form
Dim msgtext As String
Dim datedate As String

Set F = Me
criterion = "ID =" & F!ID
Set mydb = DBEngine.Workspaces(0).Databases(0)
Set myset = mydb.OpenRecordset("T_マスター", DB_OPEN_DYNASET)
myset.FindFirst criterion
If (myset.EOF) Or (myset.NoMatch) Then
  msgtext = MsgBox("IDが見つかりません。" & Chr(13) & Chr(10) & _
    "IDを確認して下さい!", 0, "IDなし")
Else
  F!名前 = myset!名前
  F!誕生日 = myset!誕生日
  F!住所 = myset!住所
End If
Exit_ID_AfterUpdate:
  Exit Sub

Err_ID_AfterUpdate:
  MsgBox Err.Description
  Resume Exit_ID_AfterUpdate
End Sub
どうか、頑張って下さい。
コードをコピペすると、字下げがうまく行きません。
ごめんなさい。
    • good
    • 0
この回答へのお礼

長いサンプルソースまで書いていたただきありがとうございます。

お礼日時:2006/10/01 07:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!