0

これはばかげた質問だと思いますが、これを理解するのに問題があります。

レポートの作成に使用される大量の情報を含む 2 つのテーブルがあります。

これら 2 つのテーブルを結合するクエリがあります。

同じクエリで、日付範囲と ID チェッカーの 2 つの単純なフィルターが追加されます。

レポートは、特定の ID を持つ日付範囲内で印刷されることになっています。

クエリのデータ範囲を変更する必要があるたびに、手動で編集してパラメーターを変更する必要があります。

毎週手動でクエリを更新する必要がないように、フォームを作成してこの情報をクエリに渡すにはどうすればよいですか?

2 つの日付フィールドを持つ新しいフォームを作成しました。フォームを開く前に、この情報をクエリに渡すコードが必要ですが、情報をDoCmd.OpenQuery Method渡すことはできません。

理想的には、SQL コマンドを使用してクエリを設定してから開くことをお勧めしますが、これは可能ですか?

4

4 に答える 4

1

フィルターを使用してレポートを開きます。

Dim sWhere as String
sWhere = "Tbl_Swift.Data >= #10/01/2012# AND Tbl_Swift.Data <= #10/10/2012#"
DoCmd.OpenReport "rptMyReportName", acViewPreview, ,sWhere

(「BETWEEN」が機能するかどうかはわかりませんが、適切に記述すれば機能すると思います。)

于 2012-10-19T14:46:57.233 に答える
1

フォーム内のフィールドを参照する条件をクエリに入れることもできます。

SELECT ... WHERE ID = [Forms]![FormName]![TextField]
于 2012-10-19T14:52:34.607 に答える
0

2 つのオプションがあります。

  1. パラメータの値をクエリに入れないでください。Access は、クエリを実行するたびに常にこれらの値を要求します。

  2. DATE() 関数を使用して現在の日付を取得し、それに応じて週の開始と終了を計算します。これにより、日付を指定する必要がなくなります。

于 2012-10-19T14:47:35.113 に答える