Can a parameter query be created that you select from a drop down

G

Guest

I'm trying to create a query for a report that will answer a parameter, but,
I want the user to be able to select the parameter criteria from a dropdown
instead of entering the information in each of the parameter windows. Can
this be done?
 
D

Duane Hookom

Can't be done with a parameter prompt in a query. IMHO, you should never
expose parameter prompts to users. Always create controls on forms for users
to enter criteria.
 
F

fredg

I'm trying to create a query for a report that will answer a parameter, but,
I want the user to be able to select the parameter criteria from a dropdown
instead of entering the information in each of the parameter windows. Can
this be done?

Let's assume you wish to report on a particular company, between 2
dates.

Create an unbound form.
Add a combo box.
Set the Row Source of the combo box to include the
CompanyID field and the Company Name.
Name the Combo Box 'FindCompany'.
Set it's Bound column to 1.
Set it's Column Count property to 2.
Set the Column Width property to 0";1"

Also add 2 unbound text controls.
Set their format to a valid date format.
Name them "StartDate" and "EndDate"

Add a Command Button to the form.
Code the button's click event:

Me.Visible = False

Name this form 'ParamForm'.

In the Report's Record Source (the Query) [CompanyID] field criteria
line write:
forms!ParamForm!FindCompany

As criteria in the query date field write:
Between forms!Paramform!StartDate and forms!ParamForm!EndDate

Next, code the report's Open event:
DoCmd.OpenForm "ParamForm", , , , , acDialog

Code the report's Close event:
DoCmd.Close acForm, "ParamForm"

When ready to run the report, open the report.
The form will open and wait for the selection of the Company and the
entry of the starting and ending dates wanted.
Click the command button and then report will run.
When the report closes, it will close the form.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top