Selecting records to print

  • Thread starter Thread starter Frank Reichenbacher
  • Start date Start date
F

Frank Reichenbacher

I'm in my third year of converting our old FoxBase order management system
to Access 2000/2002. Right now I am in the last stages of converting our
record of orders shipped and I have run into a problem in determining how
the user is to select which records to print.

The form is linked to the customer table which is the parent to a continuous
subform (I rejected displaying the subform in datasheet view because of the
amount of information I need to display) that displays a select query of
orders for each customer. There can be up to several dozen orders per
customer, far too many to display and far more than the user is going to
want to print. I want the user to be able to select the specific order to
print (not necessarily the latest order) plus two to five orders before and
after the one of interest.

I just got through frustrating myself with a checkbox selection system. No
matter what I tweaked, clicking on one checkbox resulted in every record in
the subform being selected. This would be no good. It has to be extremely
quick and convenient. Whatever you can say about an antique database like
FoxBase, it is extremely quick, and right now most of my users are simply
printing to LPT1 by hitting PrintScreen, it takes two seconds and they
always get everything they want.

Any suggestions would be appreciated.

Frank
 
I'm in my third year of converting our old FoxBase order management system
to Access 2000/2002. Right now I am in the last stages of converting our
record of orders shipped and I have run into a problem in determining how
the user is to select which records to print.

The form is linked to the customer table which is the parent to a continuous
subform (I rejected displaying the subform in datasheet view because of the
amount of information I need to display) that displays a select query of
orders for each customer. There can be up to several dozen orders per
customer, far too many to display and far more than the user is going to
want to print. I want the user to be able to select the specific order to
print (not necessarily the latest order) plus two to five orders before and
after the one of interest.

I just got through frustrating myself with a checkbox selection system. No
matter what I tweaked, clicking on one checkbox resulted in every record in
the subform being selected. This would be no good. It has to be extremely
quick and convenient. Whatever you can say about an antique database like
FoxBase, it is extremely quick, and right now most of my users are simply
printing to LPT1 by hitting PrintScreen, it takes two seconds and they
always get everything they want.

Any suggestions would be appreciated.

Frank
Frank,
Regarding > clicking on one checkbox resulted in every record in
the subform being selected. <

This is standard continuous form behavior if the check box is unbound.

What you need to do is add a check box field to the underlying table.
Then add it to the form.
Now, when a particular record is selected, only that record is
selected in the table.
If you also want just a few records on each side of the particular
record, just select them also.

Simple matter now to filter the table for printing by using a query
with it's CheckBox field criteria set to
-1
Only those records selected will be returned in the query.
Base the report on the query.

Or...
Leave the Table as the Report's record source.
Simply open the report from a command button on the form.

DoCmd.OpenReport "ReportName", acViewPreview, , "[CheckBoxField] = -1"

When the report is printed, you'll need to clear the check box.
Run an Update query.
Update TableName Set TableName.CheckBoxField = 0;
 
Frank said:
I'm in my third year of converting our old FoxBase order management system
to Access 2000/2002. Right now I am in the last stages of converting our
record of orders shipped and I have run into a problem in determining how
the user is to select which records to print.

The form is linked to the customer table which is the parent to a continuous
subform (I rejected displaying the subform in datasheet view because of the
amount of information I need to display) that displays a select query of
orders for each customer. There can be up to several dozen orders per
customer, far too many to display and far more than the user is going to
want to print. I want the user to be able to select the specific order to
print (not necessarily the latest order) plus two to five orders before and
after the one of interest.

I just got through frustrating myself with a checkbox selection system. No
matter what I tweaked, clicking on one checkbox resulted in every record in
the subform being selected. This would be no good. It has to be extremely
quick and convenient.

You can easily print the currently selected record. If you
want to use a check box to select which records to print,
then the check box must be bound to a field in a table
(probably the same table). Just remember to run an Update
query to (or loop through the foms RecordsetClone to clear
all the record first).
 
You don't quite mention how this grid is displayed.

however, have several choices. I would consider using a list box,a as then
the ability for the user to simply click on each order and whack a print
button. That is the most user friendly approach.

Often, a list box is a reasonable substitution for a continuous form when
you need multi-select.

Take a look at the following screen shots, and note the use of listboxes:

http://www.attcanada.net/~kallal.msn/Articles/Grid.htm

Also, take a look at the following screen shots, as they again make
extrusive use of listboxes, and, the vast majority of them are multi-select.

http://www.attcanada.net/~kallal.msn/ridesrpt/ridesrpt.html

I am sure you agree the above little screens are far superior to some old
text based system.

I will say, that for printing any of this stuff, you best create a report,
and then feed it the list of records you want to print. Don't try and fool
around printing screens, or even forms for that matter.

So, either try using listboxs. Another approach would be to use check boxes,
but that may force you to use temp data tables, and every database designer
will avoid temp tables when possible. However, sending the possible choices
to a continues form with a bound check box (as a "new" additional column)
can also be a real possible solution, but requires temp data tables (which,
as mentoned, we want to advoied like the plague).
 
Frank Reichenbacher said:
I'm in my third year of converting our old FoxBase order management system
to Access 2000/2002. Right now I am in the last stages of converting our
record of orders shipped and I have run into a problem in determining how
the user is to select which records to print.

The form is linked to the customer table which is the parent to a continuous
subform (I rejected displaying the subform in datasheet view because of the
amount of information I need to display) that displays a select query of
orders for each customer. There can be up to several dozen orders per
customer, far too many to display and far more than the user is going to
want to print. I want the user to be able to select the specific order to
print (not necessarily the latest order) plus two to five orders before and
after the one of interest.

I just got through frustrating myself with a checkbox selection system. No
matter what I tweaked, clicking on one checkbox resulted in every record in
the subform being selected. This would be no good. It has to be extremely
quick and convenient. Whatever you can say about an antique database like
FoxBase, it is extremely quick, and right now most of my users are simply
printing to LPT1 by hitting PrintScreen, it takes two seconds and they
always get everything they want.

Any suggestions would be appreciated.

Frank

Thank you guys!

Listboxes -- a definite possibility, but not quite as quick as I am hoping.

Check box added to the table -- <smacks forehead>Of course!</smacks
forehead>

Frank
 
Back
Top