2017-11-06 1 views
0

この質問は何度か何度か何度か尋ねられていますが、解決策を見つけることができず、私を狂わせてしまいます。私は、VBAを介して選択クエリを実行してテーブルにあるデータを検索するAccessで検索フォームを作成しています。これまでのところ、これはかなり簡単で、クエリは機能し、フォームは結果を返します。問題は、結果を返す/表示するためにサブフォームを使用しており、一度に1つの結果しか返さないということです。サブフォームへのアクセスデータシート返品のみ1結果

セットアップウィザードを使用してサブフォームをメインフォームに追加し、そのプロセス中に2つのフォームをリンクしました。サブフォームはデータシートとして表示されますが、それを「連続フォーム」に変更しても、一度に1レコードずつ返されます。私のサブフォームのRecord Sourceを私の選択クエリ(Select * From tbl_Search)に設定して、私が考えていることについて(質問、テーブル、何もない...)私のメインフォームにRecord Sourceを設定しました。

私は、次の矢印をクリックしなくても、1つのデータシート内のすべてのレコードを返す方法がなければならないことを知っていますが、まだその方法が何であるか把握していません。

これはコードそのものの問題ではないので、この質問に答えるためにどのような種類の画像やコードブロックが必要なのかよくわからなかったので、できるだけわかりやすいようにしました。この質問に答えるのに必要なコードやスクリーンショットがある場合は、私に知らせてください。

答えて

3

あなたのメインフォームはアンバウンドする必要があります。検索クエリを作成し、それをサブフォームのレコードソースとして設定します。あなたは、たとえば、クエリにパラメータとしてメインフォームのフィールドを渡すことができます。

PARAMETERS [Forms]![YourMainForm]![YourTextField] Text (255); 
SELECT * 
FROM YourTableName 
WHERE ((([FieldName)=[Forms]![YourMainForm]![YourTextField])); 

検索を実行するときにしなければならない唯一の事は、サブフォームを.Requeryすることです。

Me.SubformName.Form.Requery 
+0

助けてくれてありがとうございますが、まだいくつか問題があります。今、私はサブフォーム内でSELECT * FROM tbl_Search WHERE((Form_Name Like "" * "&[Forms]![Program Search]![strsearch]&" * "")) 'を検索クエリとして使用しています。私のサブフォームの 'Record Source'には、単純な' Select * from tbl_Search'があります。私のメインフォームには 'Me.SubformName.form.requery'があり、'メソッドまたはデータメンバーが見つかりませんでした 'というエラーが表示され、プログラムを実行しようとするとサブフォーム名が強調表示されます。 – Jcmoney1010

+0

'SubformName'をサブフォームコントロールの実際の名前に変更する必要があります。 –

+0

申し訳ありませんが、私はより明確にすべきでした。私は実際のサブフォーム名を使用しています。私はあなたの答えにあったので、 'Me.SubformName'の例でSubformNameを使用しました。私のコメントをこの例と一致させようとしていた。 – Jcmoney1010

関連する問題