OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

アクセスVBAで3つのテキストボックスの連動表示

  • すぐに回答を!
  • 質問No.235897
  • 閲覧数1532
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 48% (39/81)

アクセス2000のVBAの質問です。どうぞよろしく。
●「取引銀行」テーブルをつくりました。銀行名、支店名、口座番号を入力してつくりました。 フィールド名も上記の通りです。
●フォームをつくり、口座番号入力用テキストボックス(テキスト0)、銀行名を表示するテキストボックス(テキスト2)、支店名表示用テキストボックス(テキスト4)の3つを作りました。
●入力用テキストボックスに1つ口座番号を入れると、その口座番号の銀行名をテキスト2に表示し、支店名をテキスト4に表示するにはどうコーディングすればいいのでしょうか。
Option Compare Database
Public db As database
Public qd As querydef
Private Sub テキスト0_AfterUpdate()
Set db = CurrentDb
Set qd = db.querydef(\"SQL_Q\")
Dim strText As String
strText = テキスト0.Text
qd.SQL_Q = \"SELECT 銀行名 FROM 取引銀行 \" _
& \"WHERE 口座番号 = \'\" & strText & \"\'\"
Me.RecordSource = \"SQL_Q\"
テキスト2.SetFocus
Me!テキスト2.ControlSource = \"銀行名\"
(支店名表示部分は略す)
End Sub
ある本の例を見て上記のように組んで実行しましたが、銀行名は表示されません(#NAMEのエラー)
入力した口座番号がstrTextにセットされているのは確認できました。
またRecordSourceとControlSourseの区別がよく理解できていません。値集合タイプ、値集合ソースというのはなぜテキストボックスの
プロパティにないのでしょうか。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル6

ベストアンサー率 50% (6/12)

口座番号が入力後に、2つのテキストボックスに入力するのであれば、以下のprocedureでできると思います。
Option Compare Database
Private Sub テキスト0_AfterUpdate()
Me.テキスト2=DLookup("銀行名","取引銀行","口座番号='" & Me.テキスト0.value & "'")
Me.テキスト4=DLookup("支店名","取引銀行","口座番号='" & Me.テキスト0.value & "'")
End Sub

パフォーマンスが悪い場合には以下のようにしてください。
Option Compare Database
Private Sub テキスト0_AfterUpdate()
Dim strText As String
Dim rs As recordset
strText = "select 銀行名,支店名 FROM 取引銀行 where 口座番号 ='" & Me.テキスト0.value & "'"
Set rs = CurrentDb.Openrecordset(strText, dbOpenSnapshot)'参照専用レコードセット
Me.テキスト2=rs("銀行名")
Me.テキスト4=rs("支店名")
End Sub

RecordSource:フォーム、レポートの元になるレコードの集合、つまりはテーブル、クエリーなど
ControlSourse:フォーム、レポートのコントロールに表示するためのRecordSourceのフィールドのこと(非連結の場合にはControlSourseは値が存在する関数式でも可)
と思っておけば良いのでは。
値集合タイプ、値集合ソース:リストボックス、コンボボックスで表示に使用するソースで、テーブル、クエリーのレコード形式、もしくは、値リストのこと。値リストを指定すると値を並べて記載することでレコード形式に読み込んでくれる。
したがって、一つの値しか表示できないテキストボックスには上記プロパティは必要ないことになるので表示されません。
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ