原本的文章:http://shuchonghui.blog.163.com/blog/static/1511563201111792946432/
在模拟图书馆借阅业务数据库中有一个“输入借阅新记录”的窗体,窗体名为“J2Form-
InputNew”,其中准备输入借阅日期的控件名为“StartDate”,在它边上设置了一个按钮,这个命令按钮名为“Command20”,点击这
个按钮,就将执行一段程序Command20_Click(),为了一会儿的参数传递不至于“迷路”,它不仅是要打开日历窗体“Calendar”,而且
要“告诉”日历窗体“Calendar”:这次操作指令是将要向哪个控件返回数据,记住以后,等一会儿,待日期确定时,可以将选择的日期准确回传到指定的
窗体、指定的控件中去。这段代码主要内容是:
Private Sub Command20_Click()
DoCmd.OpenForm "Calendar", , , , , , "StartDate"
End Sub
上
述代码中使用了
“OpenForm”的操作,其功能是打开窗体,由于是在VBA中,于是就使用了第7个参数。其中,因为只用了7个参数中的第一个“窗体名称”和最后一个
“OpenArgs”,中间省略的参数之间均以英文半角的逗号分开,这些逗号一个都不能少。从上述代码中可以看到:要打开的窗体名称
为"Calendar"即日历窗口,而“OpenArgs”的属性值为"StartDate",即表示在日历中选择的日期将要回传到“J2Form-
InputNew”窗体的"StartDate"中去。可参阅图-7与图-8所示。
在
日历窗口选择日期后,这个日期就在当前日历窗体的主体(Me![Cal])——Cal是刚才建立日历窗体时对日历窗体的主体的命名。按动“确定”按钮
Command2,应该执行一段将日期返回传递到刚才发出需求指令的窗体的控件中去的回传程序,刚才建立这个按钮时,并未编制,留下一个悬念,现在就要解
决它。由于日历窗体中的“确定”按钮是Command2,这个点击“确定”触发回传的程序为Command2_Click(),主要代码如下:
Private Sub Command2_Click()
If Me.OpenArgs = "StartDate" Then
Forms("J2Form-InputNew")![StartDate] = Me![Cal]
End If
DoCmd.Close
End Sub