Acc2010 - Filtering Report based on Subform Filter

V

vvariety

I have been trying to filter a report based on the results of a filter
on a form. The print button on the form has the following code:

Dim stWhere As String

stWhere = Forms![frmlibraryMenu]![frmBookListing].Form.Filter

DoCmd.OpenReport "rptbooklisting", acViewPreview, stWhere

Issue: If there is no filter then the report previews all 1500+ pages
fine if the form is filtered then the report comes up blank with an
error msg. SubformName.fieldName "*Gold*"

Can't figure out what I am doing wrong any help would greatly be
appreciated.
 
J

John Spencer

StWhere should be a string that contains the name of a field, an operator, and
a value to be searched for.

Try debug print and see if you get something like the following returned.
Debug.Print stWhere

In the VBA immediate window you should see the string that is in stWhere

MyField Like "*Gold*"
where myField is the name of a field in the report.


John Spencer
Access MVP 2002-2005, 2007-2010
The Hilltop Institute
University of Maryland Baltimore County
 
V

vvariety

StWhere should be a string that contains the name of a field, an operator, and
a value to be searched for.

Try debug print and see if you get something like the following returned.
Debug.Print stWhere

In the VBA immediate window you should see the string that is in stWhere

   MyField Like "*Gold*"
where myField is the name of a field in the report.

John Spencer
Access MVP 2002-2005, 2007-2010
The Hilltop Institute
University of Maryland Baltimore County

I have been trying to filter a report based on the results of a filter
on a form. The print button on the form has the following code:
Dim stWhere As String
stWhere = Forms![frmlibraryMenu]![frmBookListing].Form.Filter
DoCmd.OpenReport "rptbooklisting", acViewPreview, stWhere
Issue:  If there is no filter then the report previews all 1500+ pages
fine if the form is filtered then the report comes up blank with an
error msg.  SubformName.fieldName "*Gold*"
Can't figure out what I am doing wrong any help would greatly be
appreciated.- Hide quoted text -

- Show quoted text -

The results of the debug window is
debug.Print stwhere
([frmBookListing].[Title] Like "*Roc*")
 
J

John Spencer

That should probably be
Title Like "*Roc*"

That assumes that the report has a field named Title in its record source.

The "frmBookListing" part refers to the FORM which the report's record source
would have no idea about.

If the filter string is never more complex than this example you could try
parsing the filter to remove the reference to the subformName

stWhere = Forms![frmlibraryMenu]![frmBookListing].Form.Filter
stWhere = Mid(stWhere,Instr(1,stWhere,"].")+2)


John Spencer
Access MVP 2002-2005, 2007-2010
The Hilltop Institute
University of Maryland Baltimore County

StWhere should be a string that contains the name of a field, an operator, and
a value to be searched for.

Try debug print and see if you get something like the following returned.
Debug.Print stWhere

In the VBA immediate window you should see the string that is in stWhere

MyField Like "*Gold*"
where myField is the name of a field in the report.

John Spencer
Access MVP 2002-2005, 2007-2010
The Hilltop Institute
University of Maryland Baltimore County

I have been trying to filter a report based on the results of a filter
on a form. The print button on the form has the following code:
Dim stWhere As String
stWhere = Forms![frmlibraryMenu]![frmBookListing].Form.Filter
DoCmd.OpenReport "rptbooklisting", acViewPreview, stWhere
Issue: If there is no filter then the report previews all 1500+ pages
fine if the form is filtered then the report comes up blank with an
error msg. SubformName.fieldName "*Gold*"
Can't figure out what I am doing wrong any help would greatly be
appreciated.- Hide quoted text -

- Show quoted text -

The results of the debug window is
debug.Print stwhere
([frmBookListing].[Title] Like "*Roc*")
 

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