以对话模式打开AdmForm以强制程序AdmReport在Report_Open用户输入日期值时等待Admform。
MyAdmForm包含一个名为 的命令按钮cmdOK,它的单击事件以隐藏模式重新打开表单,从而允许AdmReport的Report_Open过程继续。尽管AdmForm现在已隐藏,但其文本框及其包含的值将可用于AdmQuery(的记录源AdmReport)。
这是命令按钮的单击事件的代码。
Private Sub cmdOK_Click()
DoCmd.OpenForm Me.Name, acNormal, , , , acHidden
End Sub
这是我的AdmReport. 我使用 Access 2007 对其进行了测试,但相信它也应该适用于 Access 2003。
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
请注意,我包含了一个Report_Close()用于AdmReport. 目的只是关闭(现在隐藏)AdmForm。