Form or report for fax?

B

Bruce

Several (related, I think) questions:

Vendor information is stored in a single table. Queries
filter the records by category, approval status, etc. I
run a form (based on a query) monthly to search for
certificates that are about to expire. When a vendor's
certificate will expire within 30 days, the form produces
a page containing customized information for each such
vendor. These are printed and faxed. My question is:
should this be done as a report instead of a form? Does
it matter? By the way, there is no need to save the
information after printing the fax.

Second situation is that I want to create a fax that would
automatically fill in vendor information, and the user
could fill in the message. I think this needs to be a
form. Again, I do not need to save the information the
user enters (although I suppose I could, and then run a
delete query upon exiting the form, if some such approach
makes sense). My question is: If the user adds
information and then prints the resulting fax, how do I
set it up so that the added text goes away and the fax is
blank the next time it is used?

Third situation is related to the second. I do not need
to send a fax to each approved vendor, but rather would
like to send one easily to any vendor. If I base the form
on a query or table I will have many choices, and will
have to scroll through the records until I find the right
one. There are not so many records that this would be a
big problem, but it is clumsy and has the potential to be
mangled by the users. I have a form that selects a single
vendor's information from a drop down list based on a
table (or query). When the vendor's name is selected,
address, phone etc. information appear. Once a vendor's
information is on the screeen I would like to click a
button or something like that to go to the fax form, with
relevant vendor information already filled in, and a place
to enter a custom message. How can I approach this?
Finally, in a situation where a report or form produces
several records, but I want to select and print just one,
I would like to change the default print option for that
report or form to print just the selected record.

I know this is a lot of stuff. I have had some Access
training, but until the company has more money to spend I
will not be getting more very soon, and I haven't quite
learned enough that I can readily put it to use. If
pointing me to an appropriate resource to get my questions
answered makes the most sense, I would be glad to hear
about it.
 
J

John Nurick

Hi Bruce,

Comments in line.

Several (related, I think) questions:

Vendor information is stored in a single table. Queries
filter the records by category, approval status, etc. I
run a form (based on a query) monthly to search for
certificates that are about to expire. When a vendor's
certificate will expire within 30 days, the form produces
a page containing customized information for each such
vendor. These are printed and faxed. My question is:
should this be done as a report instead of a form? Does
it matter? By the way, there is no need to save the
information after printing the fax.

As a rule, if you want printed output you should use a report. You
should be able to base it on the query you already have.
Second situation is that I want to create a fax that would
automatically fill in vendor information, and the user
could fill in the message. I think this needs to be a
form. Again, I do not need to save the information the
user enters (although I suppose I could, and then run a
delete query upon exiting the form, if some such approach
makes sense). My question is: If the user adds
information and then prints the resulting fax, how do I
set it up so that the added text goes away and the fax is
blank the next time it is used?

I assume the idea is for the user to select one vendor and create a fax
to them. One way to do this is to create a form bound to the Vendor
table (let's call it frmFax1Vendor) that displays all the fields you
need and that also has a large unbound textbox for the body of the fax
(let's call it txtMessage).

You can use the Combo Box Wizard to create a dropdown list of vendors in
the form header so the user can select a vendor and all the information
from the table will appear. Or you can work from the table you mention
below.

Once this is working, create a report. Don't base it on any table or
query. Instead, make each textbox on the report get its data directly
from the corresponding textbox on the form. For instance, the
ControlSource of the textbox that dislays the body of the message will
be
=Forms("frmFax1Vendor")!txtMessage

Obviously the form will have to be open when you run the report.

When the report is working properly, use the Commandbutton Wizard to put
a button on the form that opens the report. If you want, you can modify
the code behind the button so the report is sent straight to the
printer instead of just being previewed.
Third situation is related to the second. I do not need
to send a fax to each approved vendor, but rather would
like to send one easily to any vendor. If I base the form
on a query or table I will have many choices, and will
have to scroll through the records until I find the right
one. There are not so many records that this would be a
big problem, but it is clumsy and has the potential to be
mangled by the users. I have a form that selects a single
vendor's information from a drop down list based on a
table (or query). When the vendor's name is selected,
address, phone etc. information appear. Once a vendor's
information is on the screeen I would like to click a
button or something like that to go to the fax form, with
relevant vendor information already filled in, and a place
to enter a custom message. How can I approach this?

One way is to use the button to open the form I described above - so the
user can enter the custom message and then click the next button to view
or print the report.
Finally, in a situation where a report or form produces
several records, but I want to select and print just one,
I would like to change the default print option for that
report or form to print just the selected record.

Forms aren't meant to be printed (except as screenshots in instruction
manuals). Think in terms of generating a report that contains only the
record you want to print.

Having the report get the data direct from the form as above is one way
to go. Another - which is better if the form doesn't contain everything
you want in the report - is
1) create a parameter query that returns all the fields you want about
just one record (e.g. a query ending with something like
WHERE VendorID = [Please enter VendorID];
2) change the parameter so the query gets the parameter from the form,
e.g.
WHERE VendorID = [Forms("NameOfForm")!cboVendorID]
3) base the report on that query and put a button on the form to open or
print the report.
I know this is a lot of stuff. I have had some Access
training, but until the company has more money to spend I
will not be getting more very soon, and I haven't quite
learned enough that I can readily put it to use. If
pointing me to an appropriate resource to get my questions
answered makes the most sense, I would be glad to hear
about it.

One good place is www.mvps.org/access/ . Another is
http://www.granite.ab.ca/accsmstr.htm .
 
B

Bruce

Thanks so much for your detailed replies to my several
questions, and for the links you provided at the end.
Printing other forms in the project seems to work as
intended, so I will not be in a hurry to change those to
reports, but for situations such as the fax that will not
be saved, I understand the value of reports. I am less
clear about why something such as a purchase order,
combining vendor information plus user input that will be
saved, would need to be changed to a report before
printing. But that project is well into the future. I
have not had time to get back to the project that drove
the original question, but I think I understand what you
have written. When I do have a chance to get back to it I
expect to make some progress. Thanks again.
-----Original Message-----
Hi Bruce,

Comments in line.

Several (related, I think) questions:

Vendor information is stored in a single table. Queries
filter the records by category, approval status, etc. I
run a form (based on a query) monthly to search for
certificates that are about to expire. When a vendor's
certificate will expire within 30 days, the form produces
a page containing customized information for each such
vendor. These are printed and faxed. My question is:
should this be done as a report instead of a form? Does
it matter? By the way, there is no need to save the
information after printing the fax.

As a rule, if you want printed output you should use a report. You
should be able to base it on the query you already have.
Second situation is that I want to create a fax that would
automatically fill in vendor information, and the user
could fill in the message. I think this needs to be a
form. Again, I do not need to save the information the
user enters (although I suppose I could, and then run a
delete query upon exiting the form, if some such approach
makes sense). My question is: If the user adds
information and then prints the resulting fax, how do I
set it up so that the added text goes away and the fax is
blank the next time it is used?

I assume the idea is for the user to select one vendor and create a fax
to them. One way to do this is to create a form bound to the Vendor
table (let's call it frmFax1Vendor) that displays all the fields you
need and that also has a large unbound textbox for the body of the fax
(let's call it txtMessage).

You can use the Combo Box Wizard to create a dropdown list of vendors in
the form header so the user can select a vendor and all the information
from the table will appear. Or you can work from the table you mention
below.

Once this is working, create a report. Don't base it on any table or
query. Instead, make each textbox on the report get its data directly
from the corresponding textbox on the form. For instance, the
ControlSource of the textbox that dislays the body of the message will
be
=Forms("frmFax1Vendor")!txtMessage

Obviously the form will have to be open when you run the report.

When the report is working properly, use the Commandbutton Wizard to put
a button on the form that opens the report. If you want, you can modify
the code behind the button so the report is sent straight to the
printer instead of just being previewed.
Third situation is related to the second. I do not need
to send a fax to each approved vendor, but rather would
like to send one easily to any vendor. If I base the form
on a query or table I will have many choices, and will
have to scroll through the records until I find the right
one. There are not so many records that this would be a
big problem, but it is clumsy and has the potential to be
mangled by the users. I have a form that selects a single
vendor's information from a drop down list based on a
table (or query). When the vendor's name is selected,
address, phone etc. information appear. Once a vendor's
information is on the screeen I would like to click a
button or something like that to go to the fax form, with
relevant vendor information already filled in, and a place
to enter a custom message. How can I approach this?

One way is to use the button to open the form I described above - so the
user can enter the custom message and then click the next button to view
or print the report.
Finally, in a situation where a report or form produces
several records, but I want to select and print just one,
I would like to change the default print option for that
report or form to print just the selected record.

Forms aren't meant to be printed (except as screenshots in instruction
manuals). Think in terms of generating a report that contains only the
record you want to print.

Having the report get the data direct from the form as above is one way
to go. Another - which is better if the form doesn't contain everything
you want in the report - is
1) create a parameter query that returns all the fields you want about
just one record (e.g. a query ending with something like
WHERE VendorID = [Please enter VendorID];
2) change the parameter so the query gets the parameter from the form,
e.g.
WHERE VendorID = [Forms("NameOfForm")!cboVendorID]
3) base the report on that query and put a button on the form to open or
print the report.
I know this is a lot of stuff. I have had some Access
training, but until the company has more money to spend I
will not be getting more very soon, and I haven't quite
learned enough that I can readily put it to use. If
pointing me to an appropriate resource to get my questions
answered makes the most sense, I would be glad to hear
about it.

One good place is www.mvps.org/access/ . Another is
http://www.granite.ab.ca/accsmstr.htm .

--
John Nurick [Microsoft Access MVP]

Please respond in the newgroup and not by email.
.
 

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