|
▼小僧 さん:
こんばんわ。
T_アドレス
所属コード 管理コード 他のフィールド・・・
100 30
100 30
200 30
200 30
400 40
T_所属
所属コード 所属
100 A
200 B
300 C
400 D
500 E
T_管理
管理コード 管理
30 A
40 B
50 C
60 D
70 E
実は1つだけじゃなく2つありまして、教えて頂いたSQL文
(小僧さんの例は1つ)を参考に
SELECT T_アドレス.*, T_所属.所属, T_管理.管理
FROM (T_アドレス LEFT JOIN T_所属 ON T_アドレス.所属コード = T_所属.所属コード) LEFT JOIN T_管理 ON T_アドレス.管理コード = T_管理.管理コード;
を入れたらクエリが作成され、そのクエリで、
所属コードとか、管理コードの番号を変更してみたら、
T_所属で定義された所属が自動的に変更されていました。本当に有難う御座いました。
あと、そのクエリを元に、フォームを作りました。
下記を参考に、所属と管理を選ぶとする。
レコードソースは、q_Address です。
所属コンボ:
コントロールソース:所属
値ソース:SELECT T_所属.所属 FROM T_所属;
所属コード:可視をいいえにして隠す。(所属コンボで選択したら、自動的に変更されるようにしたい)
コントロールソース:所属コード
Me.所属コード.Value = DLookup("所属コード", "T_所属", _
"[所属] = '" & 所属コンボ.Value & "'")
としてみたところ、なぜか、前のフィールドを変更する前に、まずレコードを
保存してくださいとエラーが起きてしまいます。
そのエラーメッセージが何故、出てくるか疑問なので、ためしに、
DoCmd.RunCommand acCmdSaveRecord
Me.所属コード.Value = DLookup("所属コード", "T_所属", _
"[所属] = '" & 所属コンボ.Value & "'")
としたら、大丈夫だけど、選択したら、番号は何も変更されないようです。
ちなみに、非連結にした場合は、選択したらテキストの番号は自動的に
変更されませんが、非連結であるため、何も表示されない状況で、何か選択しないといけないようです。
>所属コンボ:
>コントロールソース:所属
>値集合ソース :SELECT T_所属.所属 FROM T_所属;
>番号テキスト:
>コントロールソース:番号
>として、
>Private Sub 所属コンボ_AfterUpdate()
> Me.番号テキスト.Value = DLookup("番号", "T_所属", _
> "[所属] = '" & 所属コンボ.Value & "'")
>End Sub
クマゴローさんのやり方も試したところ、
Me.所属コード.Value = Me.所属コンボ.colum(0).value
を入れてみたところ、「オブジェクトが必要です」とエラーが起きてしまいます。
お力を貸して頂けると幸いです。すいません。
|
|