From: Jim on 1 Apr 2010 18:17 I have an Access 2003 report that I'm trying to filter in VBA. I have a form setup with radio buttons for selecting year to date or everything. I have a Select Case statement in the On Open event of the report, but I don't know the correct syntax for the filter. Currently this is in the Filter section of the report: Year([dtmDate]) = Year(Now()) and it works, but what is the correct syntax forVBA and also to tell it to show all records for option 2? Thanks Jim
From: Marshall Barton on 1 Apr 2010 18:52 Jim wrote: >I have an Access 2003 report that I'm trying to filter in VBA. I have a form >setup with radio buttons for selecting year to date or everything. I have a >Select Case statement in the On Open event of the report, but I don't know >the correct syntax for the filter. Currently this is in the Filter section >of the report: Year([dtmDate]) = Year(Now()) and it works, but what is the >correct syntax forVBA and also to tell it to show all records for option 2? > You should use the OpenReport method's WhereCondition argument to specify the filter. That way the report has no need to be aware of what in on some form. The code behind the form button that opens the report would look something like: Dim strWhere As String If theoptiongroup = 1 Then strWhere = "Year(dtmDate) = Year(Date())" End If DoCmd.OpenReport "the report", acViewPreview, , strWhere -- Marsh MVP [MS Access]
From: Armen Stein on 5 Apr 2010 00:27 On Thu, 01 Apr 2010 16:52:39 -0600, Marshall Barton <marshbarton(a)wowway.com> wrote: >You should use the OpenReport method's WhereCondition >argument to specify the filter. That way the report has no >need to be aware of what in on some form. Another way to have a report prompt the user for criteria before it runs is to open a form from the report's Open event. Open the form in Dialog mode so that the report waits for the form to be closed or hidden before it proceeds. That way you can collect criteria from the user and build a Where clause for the report. You can also do other things like hiding and showing detail sections based on the user's preference. It also means that you can call the report directly - you don't need to call it from a form. The benefit is that the selection form is reusable - it can be called from multiple reports if they need the same criteria. I've posted examples of this technique on our free J Street Downloads page at http://ow.ly/M58Y See "Report Selection Techniques". Armen Stein Microsoft Access MVP www.JStreetTech.com
|
Pages: 1 Prev: Can I Manually Check/UnCheck Boxes in Report View And Have Them Stay? Next: Page print order |