Setting Record Order in Report

  • Thread starter Thread starter PlarfySoober
  • Start date Start date
P

PlarfySoober

I have a report, with a page per record. As the data get bigger, I need a
more efficient way to center on one record at a time.

Ideally, using the date of <ReceivedDate> (a field) would work best, as
generally only current data are of note.

I have an index on the <ReceivedDate> field, which I was hoping would help,
but no joy.

1. What is the conventional way to do this?
2. More complex, and alternatively, is there a way to select a record (even
a text one) by beginning typing to get the correct record to display? Or, use
some kind of input window?

Thanks very much.

Don.
 
Don -

You can change the recordsource to be a query with a parameter for the
<ReceivedDate>. To do this:

First, make a copy of your report or back up your whole database. Then
proceed.

Open the report in design mode.
Open the properties, and look at the RecordSource property. I imagine it is
the name of a table.
Click on that field and then on the elipses button to the right (...). It
sill open query builder. (It may bring up a dialog box asking if you want to
create a query based on the table - click on Yes.)
If this is a new query, you will see the table in a box at the top, and a
blank grid below. If so, select all the fields in the table (but not the
asterisk (*) at the top) and drag them into the Field row of the grid.

Find the ReceivedDate field (scrolling to the right if needed), and in the
Criteria row under the ReceivedDate field, enter this:
=[Enter the earliest Received Date MM/DD/YYYY:]

What this will do is ask the user each time the report is run to "Enter the
earliest Receved Date MM/DD/YYYY:" They can respond with 12/15/2009 and hit
enter. The report will only run for records with received dates greater than
or equal to the date they entered.

Close the query grid - it will ask you if you want to save it; yes you do.
Test it out!
 
Daryl S,

Wow, that worked VERY well. Simple, straightforward and efficient.

Thanks very much.

Don.

Daryl S said:
Don -

You can change the recordsource to be a query with a parameter for the
<ReceivedDate>. To do this:

First, make a copy of your report or back up your whole database. Then
proceed.

Open the report in design mode.
Open the properties, and look at the RecordSource property. I imagine it is
the name of a table.
Click on that field and then on the elipses button to the right (...). It
sill open query builder. (It may bring up a dialog box asking if you want to
create a query based on the table - click on Yes.)
If this is a new query, you will see the table in a box at the top, and a
blank grid below. If so, select all the fields in the table (but not the
asterisk (*) at the top) and drag them into the Field row of the grid.

Find the ReceivedDate field (scrolling to the right if needed), and in the
Criteria row under the ReceivedDate field, enter this:
=[Enter the earliest Received Date MM/DD/YYYY:]

What this will do is ask the user each time the report is run to "Enter the
earliest Receved Date MM/DD/YYYY:" They can respond with 12/15/2009 and hit
enter. The report will only run for records with received dates greater than
or equal to the date they entered.

Close the query grid - it will ask you if you want to save it; yes you do.
Test it out!

--
Daryl S


PlarfySoober said:
I have a report, with a page per record. As the data get bigger, I need a
more efficient way to center on one record at a time.

Ideally, using the date of <ReceivedDate> (a field) would work best, as
generally only current data are of note.

I have an index on the <ReceivedDate> field, which I was hoping would help,
but no joy.

1. What is the conventional way to do this?
2. More complex, and alternatively, is there a way to select a record (even
a text one) by beginning typing to get the correct record to display? Or, use
some kind of input window?

Thanks very much.

Don.
 
Back
Top