2017-03-05 18 views
0

私は一定の日にすべてのトランザクションを取得するレポートを作成しようとしていますが、静的なレポートを生成することができます(ランダムにアカウントを選択し、任意の日付のトランザクションをすべて引き出すことができます)ユーザがすべての取引を見たい日付を選択できるようにユーザ入力を可能にする。これをどうやってやりますか?ユーザー入力を使用してクエリベースのレポートを作成する方法は?

は事前に...

TRANSACTIONS 

ID|DATE  |STORE_ID |ACCT_ID 
--+-----------+---------+--------- 
1| 02/07/2017|  113| 1005 
2| 02/01/2017|  557| 1003 
3| 02/04/2017|  224| 1000 
4| 02/07/2017|  678| 1005 
5| 02/09/2017|  579| 1003 
6| 02/11/2017|  678| 1000 
7| 02/07/2017|  900| 1005 

感謝を以下の例の表を参照してください!

答えて

1

これはまさにフォームのためのものです。基本的に、フォームには、ユーザーがさまざまな基準を指定するために使用する1つ以上の「コントロール」があります。次に、ボタン(別の種類のコントロール)をクリックして、フォームコントロールを参照するクエリに基づいたレポートを開きます。

SELECT * FROM tblTransactions 
WHERE ACCT_ID = Forms!MyForm!ctrlAccountID AND 
[DATE] < Forms!MyForm!ctrlDate; 

フォームとレポートをレイアウトすることができます。 Accessにはフォームのレイアウトに役立つフォームウィザードがあり、ボタンを作成するにはそのコントロールを追加し、VBAウィンドウを開くためにボタンをダブルクリックする必要があります。

DoCmd.OpenReport "myReport", acViewReport 

私はプロセスを示すimgur albumを作成しました。また、ここにはmy example Access fileがあります。

+0

この例をいただきありがとうございます。私は、フォームを参照しているレポートのクエリーを持っているのではなく、アカウントIDと日付の値をパラメータとして渡すためのパターンがあるのだろうかと疑問に思っています。 –

+0

ルックアップのクエリパラメータは、あなたがそれで多く見つけることができます。あなたもそうすることができますが、あなたのクエリがこのフォームでのみ使用される場合、Willの答えはちょうどいいと思われます。 –

+0

もちろん、レポートを開くときに、レポートがあなたに尋ねる不特定のパラメータそれ。たとえば、レポートのレコードソースが「SELECT * FROMトランザクションWHERE ACCT_ID = [あなたのアカウントIDを入力してください]」である場合、レポートが開くと、アカウントIDを求めるプロンプトが表示されます。あなたはその日に同じことをすることができます。しかし、ユーザーの入力、プロンプトの表示などの制御が少ない –

関連する問題