Microsoft Access 掲示板

ACCESSの検索方法

6 コメント
views
4 フォロー

F_検索結果というフォームがあります。

ポップアップで、F_問題メインというフォームがあります。

F_問題メインの中に、合体というテキストボックスがあり、
このワードで、F_検索結果で、検索をしたをしたいのです。

私が考えた方法

①F_検索結果の問題番号検索に、F_問題メインの合体の値を転記する
②DoCmd.ApplyFilterでソートする


Forms![F_検索結果]![問題番号検索] = Me.[合体]
DoCmd.ApplyFilter "", "[問題番号] ='" & [Forms]![F_検索結果]]![問題番号検索] & "'"

エラーは、

フォームまたは、レポートがテーブルまたは、クエリを基に作成されていないため、
アクションまたは、メソッドは無効です。

その他の方法が思い浮かびませんでした。

そもそも、この方法では、検索はできないのでしょうか?
出来ないのならば、なにか別の方法はあるのでしょうか?

お手数ですが、ご教示をお願いします。
画像1

えいじ
作成: 2022/09/24 (土) 19:35:43
通報 ...
1
りんご 2022/09/25 (日) 00:24:17 c564b@0e907

関連するテーブル構造を全て提示しておくと、解答者が増えるかもしれません。
テーブル名:{主キー,主キー},属性項目,属性項目,…

2

F_検索結果 が非連結フォームなのでは。つまり、「レコードソース」プロパティが空欄。

「レコードソース」プロパティに検索したいデータが入っているテーブルかクエリを設定してください。

3
えいじ 2022/09/25 (日) 22:36:08

F_検索結果は、連結です。

レコードソースは、Q_過去問検索です。

MT_過去問を基に、Q_過去問検索を作成して、連結になっています。

MT_過去問の主キーは、IDのオートナンバー型、問題番号(文字型)です。

hatena様の回答から、検索を実行しているのは、F_問題メインで、検索を実行しているのでしょうか?
F_問題メインは、非連結で、何も紐づけされていません。

DoCmd.ApplyFilter "", "[問題番号] ='" & [Forms]![F_検索結果]]![問題番号検索] & "'"

この書き方ではだめなのでしょうか?

4
りんご 2022/09/25 (日) 23:37:35 c564b@0e907

F_問題メインで、検索を実行しているのでしょうか?

 多分、その通りです。F_検索結果にボタンを作って、該当コードを試してみるのはどうでしょう。
 役に立つかわかりませんが、ググっていたらヒットしたので参考までに
T’sWare Access Tips #450別フォームのボタンの処理を実行するには?

5

F_問題メインで、検索を実行しているのでしょうか?

あっ、それですね。DoCmd.ApplyFilter はアクティブなフォームが対象になりますので。
事前にF_検索結果にフォーカス移動しておくか、フォームのFilterプロパティを使えばいいでしょう。

Forms![F_検索結果]![問題番号検索] = Me.[合体]
Forms![F_検索結果].SetFocus
DoCmd.ApplyFilter "", "[問題番号] ='" & [Forms]![F_検索結果]![問題番号検索] & "'"
With Forms![F_検索結果]
   ![問題番号検索] = Me.[合体]
   .Filter = "[問題番号] ='" & ![問題番号検索] & "'"
   .FilterOn = True
End with
6
えいじ 2022/09/26 (月) 22:53:32

hatena様 りんご様

ご丁寧にありがとうございました。