2012-07-12 75 views
1

我有一个文本字段,其中包含按表单中的关键字进行过滤的按钮。MS Access在过滤器生成报告时输入参数ID

Private Sub Command93_Click() 
Me.Filter = "(Review Like '*" & Me.Text94 & "*')OR (Status Like '*" & Me.Text94 & "*')" 
Me.FilterOn = True 
Me.Requery 

End Sub 

然后我有一个按钮,从该过滤器生成报告。

Private Sub Filter_Click() 

DoCmd.OpenReport "rptName", acViewPreview, , Me.Filter 

End Sub 

的问题是,每当我打这个按钮,生成报告,我得到一个弹出框,要求我输入参数ID,它是要求这个审查。如果我拿出审查标准(顺便说一下,我有更多的领域,我只是用审查和状态来说明这个例子),那么报告没有任何弹出框。该评论是notinlist事件的一部分,它打开另一个表单并将该信息存储在表格评论中,如果这是相关的。当我点击确定并将输入参数ID框保留为空时,该报告仍然会生成,但我想以某种方式绕过它,原因有两个 - 第一个是我需要其他不熟悉访问的人能够使用它,第二个是这样的想法,如果我知道是什么导致它,我可以理解访问的方式更好。谢谢。

回答

0

您的报告是否有一个名为Review的字段?如果不是,则需要更改报告的记录来源,使其与已审阅的表格连接,或者更改过滤器,以便指向报告所在的字段。

+0

该报告有一个字段tblReview_Review,它具有相同的信息。我可以更改过滤器,以便引用tblReview_Review并修复用于生成报告的参数ID,但是会改为在过滤器按钮上请求参数ID。当我将记录源更改为报告中的评论时,发生同样的事情,在筛选器单击事件中生成参数ID框,而不是生成报告单击事件。 – YETI 2012-07-13 20:05:50

+0

我认为你应该将报表的sql复制到查询设计窗口中,并将过滤器添加为WHERE语句,这将更容易显示问题。如果你发布了sql和过滤器,可能会说更多。 – Fionnuala 2012-07-13 20:07:56