Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsFormsForms ProgrammingQueriesModules / DAO / VBAReports / PrintingMacrosDatabase DesignSecurityConversionImporting / LinkingSQL Server / ADPMultiuser / NetworkingReplicationSetup / ConfigurationDeveloper ToolkitsActiveX ControlsNew UsersGeneral 1General 2
Access DirectoryToolsTutorialsUser Groups
Related Topics
SQL ServerOther DB ProductsMS OfficeMore Topics ...

MS Access Forum / Forms / July 2007

Tip: Looking for answers? Try searching our database.

print macro to filter search form

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
michelleumich - 06 Jul 2007 18:30 GMT
Hi all,
I have a search form that finds results by filtering the original
table.  It is adapted from http://allenbrowne.com/ser-62.html .  All
my search boxes are text boxes on my version. I need to be able to
print the records that the search retrieves.  The form is a continuous
form.  I know how to set up a print macro if searching with a Query,
but I have many criterion to search for and the filter was the best
choice.  Additionally I am having problems with the Query code
itself.  Anyways, Is there any way to print out a report of filtered
results like that?  Thank you for your time in advance.
M
Allen Browne - 07 Jul 2007 14:01 GMT
To print the same records as filtered in your form, you can use the form's
Filter as the WhereCondition for OpenReport.

The basic idea is:
   Dim strWhere As String
   If Me.FilterOn Then
       strWhere = Me.Filter
   End if
   DoCmd.OpenReport "Report1", acViewPreview, , strWhere

If the filter includes Lookups associated with combos (applies to Access
2002 and later only), you may need to craft the query for the source of your
report by aliasing the tables so they match the lookup names used in the
filter string.

Signature

Allen Browne - Microsoft MVP.  Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

> Hi all,
> I have a search form that finds results by filtering the original
[quoted text clipped - 7 lines]
> results like that?  Thank you for your time in advance.
> M
michelleumich - 09 Jul 2007 15:25 GMT
Allen,
Thank you so much for your help.  I understand the idea of what you
have given me but I am still relatively new to code and such so I was
wondering where to put this.  Would this go in the form code?  That is
my best assumption.  I have inserted it as such so far:

Private Sub Cmd_Click()
Dim strWhere As String
   If Me.FilterOn Then
       strWhere = Me.Filter
   End If
   DoCmd.OpenReport "QueryMultiValueSearhForm", acViewPreview, ,
strWhere
End Sub

After doing this, how would I configure my Print command button on the
form? Would I set up a macro (attaching it to the command button) to
print the report?
Thank you so much,
M
Allen Browne - 09 Jul 2007 15:56 GMT
What is the name of your Print command button?

Use that name instead of "Cmd" in the very first line of your code, i.e. the
code can go into the Click event procedure of your button.

Signature

Allen Browne - Microsoft MVP.  Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

> Allen,
> Thank you so much for your help.  I understand the idea of what you
[quoted text clipped - 16 lines]
> Thank you so much,
> M
michelleumich - 09 Jul 2007 16:08 GMT
Allen,
I posted the code you gave me into the click event procedure of the
command button, and I am receiving an error.  "access can't find the
macro dim strwhere as string if me.."  Did I enter the code
incorrectly into the on click of the command button?
M
Allen Browne - 09 Jul 2007 16:26 GMT
Set the commnd button's On Click property to:
   [Event Procedure]

Then click the Build button (...) beside the property.
Access opens the code window.
The code goes in there.

Signature

Allen Browne - Microsoft MVP.  Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

> Allen,
> I posted the code you gave me into the click event procedure of the
> command button, and I am receiving an error.  "access can't find the
> macro dim strwhere as string if me.."  Did I enter the code
> incorrectly into the on click of the command button?
> M
michelleumich - 09 Jul 2007 17:21 GMT
Allen,
Thanks again.  Your help worked.  However, I have encountered a new
problem. When I search with the form filter and then click my print
command button, I get another error.  "Query must have at least one
destination field".  I then clicked "Debug" and it took me to this
line of code:

DoCmd.OpenReport "QueryMultiValueSearchForm", acViewPreview, ,
strWhere

Yes, "QueryMultiValueSearchForm" is the title of my report.  I'm aware
this is a really really bad name for a report but the logic was to
keep consistent with a line of forms that I had been working with.
(In the process of developing this database I have made over 20 forms
and needed a way to keep them and all their "accessories" straight)
Anyways, Is the error becuase the title of my report is bad? Now that
I know the form associated with this report is the "final copy" I will
probably be changing the Report name anyways.  What else could cause
the error?
Additionally, when I received this error I went into the report itself
to see if there was something I did that caused the error (such as
attached a macro to it while working with it earlier that was no
longer needed) and I got the same error "Query must have at least one
destination field."  The error is definately in the report.
With this, I tried to make a new report since it is quite obvious
something is wrong with the one I attached it to.
Access is allowing me to create a Report in Design view, but when I go
to make a report with the Report Wizard I receive yet another error
"This feature has been disabled...'follow these steps to enable it'.
"  Anyways, I follow the steps that they give and the Report Wizard
has not been disabled! What could I have done to cause this?  I don't
really know how to make a report in Design view and the Wizard is much
easier anyways. Again, thank you so much for your help.  You are very
concise which I appreciate.
Thanks,
M
Allen Browne - 10 Jul 2007 02:39 GMT
1. Open the report in design view.

2. Open the properties box, making sure it's Title reads "Report" (i.e. you
are looking at the properties of the report, not of a text box or section.)

3. On the Data tab, the Record Source property contains the name of the
query the report is using. Go to the Database window, the queries tab, and
open that query in design view. You have no fields in the output grid.

Signature

Allen Browne - Microsoft MVP.  Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

> Allen,
> Thanks again.  Your help worked.  However, I have encountered a new
[quoted text clipped - 32 lines]
> Thanks,
> M
michelleumich - 09 Jul 2007 19:21 GMT
Allen,
I had an additonal question for you considering I am using an adapted
version of your subform, you would probably be able to help me.
I have changed my tables since creating the adapted form- and I was
wondering if you could help me with re-adapting the form (since I am
still relatively new to Access) to my new tables.
The form I originally based the continuous search form on had
duplicate information- information that was contained in other tables
and all of it had a many-many relationship.  It took a while for me to
figure it out, but after only after adapting your subform I finally
figured out how to link the relationships between all of the tables.
Anyways, I ended up moving a lot of  the original table into a linking
table- one you would use for a many-many relationship.  I was
wondering if you would know how to search for data using the
relationships and with multiple tables.  If you need to know how my
tables are laid out more specifically to answer the question (if you
can), let me know. You have been a lot of help already. Thank you so
much,
M
Allen Browne - 10 Jul 2007 02:40 GMT
Create a query using the tables your fields are now in.

Use that query as the Record Source for your search form.

Signature

Allen Browne - Microsoft MVP.  Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

> Allen,
> I had an additonal question for you considering I am using an adapted
[quoted text clipped - 15 lines]
> much,
> M
michelleumich - 11 Jul 2007 17:29 GMT
I thought the method we used was to avoid using a Query?
Allen Browne - 12 Jul 2007 02:45 GMT
If you need to draw multiple fields from multiple tables, a query is how you
do that.

The example suggests omitting the critiera from the query (i.e. you build
the form's Filter string dynamically).

Signature

Allen Browne - Microsoft MVP.  Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

>I thought the method we used was to avoid using a Query?
michelleumich - 12 Jul 2007 16:17 GMT
Allen,
Thank you for your help.  However, I am still relatively new to Access
(I have been using it only a month and have developed a database over
this summer).  I also have no programming background.  Because of
this, I do not know a lot of technical terms associated with the
program.  What does building the Form's filter string dynamically
mean?  I assume "the example" is the one I refrenced in the first
post. Is that correct?  Unfortunately becuase of my limited background
I may need a little more guidance to understand what you mean.
M
Allen Browne - 12 Jul 2007 16:37 GMT
Yes: the example at:
   http://allenbrowne.com/ser-62.html
shows how to build the filter string in code, and apply it as the Filter of
the form.

You can download it and test it out, and then pull it apart to see how it
works.

Or there's some simpler examples here:
   http://allenbrowne.com/casu-08.html
   http://allenbrowne.com/casu-15.html

Signature

Allen Browne - Microsoft MVP.  Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

> Allen,
> Thank you for your help.  However, I am still relatively new to Access
[quoted text clipped - 6 lines]
> I may need a little more guidance to understand what you mean.
> M
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.