- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォームの再表示に関して)
フォームの再表示に関して
このQ&Aのポイント
- Windows2000・アクセス2000を利用しています。フォーム上で非連結のテキストボックス1つとサブフォームを作成しています。
- テキストボックスに[No]を入力で指定すると、テキストボックス更新時にサブフォームの内容が、その[No]のデータのみに抽出されて再表示するようにしたいと思っています。
- サブフォームをrequeryすれば再表示するのかなと思っているのですが、テキストボックスに更新をかけた後にクエリを確認するとSQLは一応指定出来ているようです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
サブフォームの RecordSource が [Q_抽出] というクエリになっているようですが、これは必要ですか? というのも、フォームの RecordSource はテーブルやクエリ以外に、SQL 文字列でも可能だからです。 もし必要じゃないなら、この場合 DAO の Db や Qd は必要ありません。 ------------------------------------------------ 必要か不必要かは、親フォームを開いた直後にどう表示させたいのか、ってところが関連しますね。 親フォームを開いた直後のサブフォームは全件表示でかまわないのなら、デザイン時(フォームを開いた直後の)サブフォームの RecordSource は質問に書いてある SQL 文字列の中から WHERE の部分を省いた形で OK です。どうせテキストボックスに数値を入力した時点で書き換わりますし。 と前置き。 Me.サブフォームコントロール名.Form.RecordSource = Sql_Str Me.サブフォームコントロール名.Requery これでいけると思います。 変数[Sql_Str] と変数[No] の中身は今のままでかまわないと思います。
お礼
ありがとうございます。うまくいきました!(>_<)! まだまだVBAを十分理解で来ていないので、型に当てはめて作ることしか出来ず、ご指摘頂いたDbやQdも以前に良く似たコードを作ったときのまま利用していました。本当にありがとうございます。これからもっと勉強していきたいと思います。