Ms access 在执行报表打开事件之前访问报表运行查询
我有一个名为AdmQuery的查询、一个名为Admform的表单和一个名为AdmReport的报表。在Admreport的Open_事件中,我调用了AdmForm,将开始日期和结束日期输入到两个未绑定的框中,并使用该框执行查询并在报告上显示其结果 但问题是,当我运行报表时,对报表的查询和打开事件一起运行,因为表单本身会随报表一起打开(最初没有数据)。因此,我必须关闭报告,在表单上输入日期,然后通过表单上的另一个按钮预览报告,一切正常 是否有任何方法仅在执行report\u Open\u事件后才延迟运行基础查询的访问报告Ms access 在执行报表打开事件之前访问报表运行查询,ms-access,vba,ms-access-2003,Ms Access,Vba,Ms Access 2003,我有一个名为AdmQuery的查询、一个名为Admform的表单和一个名为AdmReport的报表。在Admreport的Open_事件中,我调用了AdmForm,将开始日期和结束日期输入到两个未绑定的框中,并使用该框执行查询并在报告上显示其结果 但问题是,当我运行报表时,对报表的查询和打开事件一起运行,因为表单本身会随报表一起打开(最初没有数据)。因此,我必须关闭报告,在表单上输入日期,然后通过表单上的另一个按钮预览报告,一切正常 是否有任何方法仅在执行report\u Open\u事件后才延
我使用access 2003。在对话框模式下打开
AdmForm
,强制AdmReport
的Report\u Open
过程等待用户在AdmForm
中输入日期值
我的AdmForm
包含一个名为cmdOK
的命令按钮,它的单击事件以隐藏模式重新打开表单,从而允许AdmReport
的报告打开
过程继续。虽然AdmForm
现在已隐藏,但其文本框及其包含的值将可供AdmQuery
(AdmReport的记录源)使用
下面是命令按钮单击事件的代码
Private Sub cmdOK_Click()
DoCmd.OpenForm Me.Name, acNormal, , , , acHidden
End Sub
这是我的AdmReport
版本背后的代码。我用Access2007对它进行了测试,但我相信它也应该用Access2003
Option Compare Database
Option Explicit
Const mcstrForm As String = "AdmForm"
Private Sub Report_Close()
DoCmd.Close acForm, mcstrForm
End Sub
Private Sub Report_Open(Cancel As Integer)
DoCmd.OpenForm mcstrForm, acNormal, , , , acDialog
End Sub
注意,我为
AdmReport
包含了一个Report\u Close()
过程。其目的只是在对话框模式下关闭(现在隐藏的)AdmForm打开AdmForm
,强制AdmReport
的Report\u Open
过程等待用户在AdmForm
中输入日期值
我的AdmForm
包含一个名为cmdOK
的命令按钮,它的单击事件以隐藏模式重新打开表单,从而允许AdmReport
的报告打开
过程继续。虽然AdmForm
现在已隐藏,但其文本框及其包含的值将可供AdmQuery
(AdmReport
的记录源)使用
下面是命令按钮单击事件的代码
Private Sub cmdOK_Click()
DoCmd.OpenForm Me.Name, acNormal, , , , acHidden
End Sub
这是我的AdmReport
版本背后的代码。我用Access2007对它进行了测试,但我相信它也应该用Access2003
Option Compare Database
Option Explicit
Const mcstrForm As String = "AdmForm"
Private Sub Report_Close()
DoCmd.Close acForm, mcstrForm
End Sub
Private Sub Report_Open(Cancel As Integer)
DoCmd.OpenForm mcstrForm, acNormal, , , , acDialog
End Sub
注意,我为
AdmReport
包含了一个Report\u Close()
过程。其目的仅仅是关闭(现在隐藏)AdmForm
我发现,保持表单打开和隐藏通常是有用的,因为相同的日期可能用于各种报告或再次打印相同的报告。当然,这在很大程度上取决于应用程序。谢谢各位,让我试试这个,我会回复你们的!!杰出的我阅读了您之前的评论,认为它不适用于Access 2003,因此使用2003进行了测试。现在我回来了,我看到你也发现它确实适用于Access 2003。是的,我忽略了一些东西,但一旦我纠正了它,它就像一个符咒。。。。。再次感谢!!我发现,让表单保持打开和隐藏状态通常是有用的,因为相同的日期可能用于各种报告或再次打印相同的报告。当然,这在很大程度上取决于应用程序。谢谢各位,让我试试这个,我会回复你们的!!杰出的我阅读了您之前的评论,认为它不适用于Access 2003,因此使用2003进行了测试。现在我回来了,我看到你也发现它确实适用于Access 2003。是的,我忽略了一些东西,但一旦我纠正了它,它就像一个符咒。。。。。再次感谢!!