アプリ版:「スタンプのみでお礼する」機能のリリースについて

Access にて 以下のようなテーブルAをつくっています。

個人番号 姓   名
0001 田中  太郎
0002   鈴木  二郎
・   ・   ・
・   ・   ・

個人番号が主キーです。
個人番号を入力するフォームAを用意します。
入力された個人番号の姓名を、"フォームBのサブフォーム" に表示させたいのです。
vbaでもマクロでも構いません。

フォームBはただ表示させるだけのフォームです。

フォームBの中のサブフォームのソースオブジェクトは、フォームCとして用意しており、
フォームCのレコードソースを以下の通り設定しております。

Dim strSQL as string

strSQL = "select * from テーブルA where 個人番号 ='" & kojin_code & "';" 'kojin_codeはフォームAから受け取った値が入ってます
DoCmd.OpenForm "フォームC"
Forms!フォームC.RecordSource = strSQL

そして、フォームBの中のサブフォーム のソースオブジェクトには
Forms!フォームB.サブフォーム.SourceObject = "フォーム.フォームC"

と設定しました。

ところが、サブフォームには何も表示されません。
途中に
Docmd.openform "フォームC"
を入れて、strSQLで正しく抽出できているか確認したところ、きちんと抽出されていました。

どうすれば、サブフォームに表示できるでしょうか。
access触って1週間程度で知識がなく、質問がややこしくなり申し訳ありません。

A 回答 (1件)

テキストボックスに個人コードを入力したら、更新後処理プロシージャーでサブフォームをリクエリするように、Me![サブフォーム名].Requeryと記載する必要があります。

試してみて下さい。
これが原因なら、今の状態で、サブフォームを選択して、F9キーを押して、強制的にリクエリさせれば、表示される筈です。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています