我有以下代码
command_Click()
rDate = InputBox("MM/YYYY")
end sub
当我点击命令时,输入框出现,我输入了我的值。但后来我再次弹出询问rDate的参数值。
有什么想法?
答案 0 :(得分:1)
我假设您有一个类似
的查询Select *
From SomeTable
Where acolumn = rDate
command_click()子中定义的rDate
不是一回事。 rDate
是一个局部变量,与您的查询无关。
您可能希望将参数传递给查询。假设您的查询名为vikesQuery
。您的命令按钮单击代码将如下所示
Dim qdef As DAO.QueryDef
Set qdef = CurrentDb.QueryDefs("vikesQuery")
If qdef Is Nothing Then
Exit Sub
End If
qdef.Parameters("rDate") = InputBox("MM/YYYY") 'though there are much better ways of getting your parameter like a textbox on a form
Dim rs As DAO.Recordset
Set rs = qdef.OpenRecordset
现在您的查询位于记录集中,您可以使用它进行大量操作。通常,您会在表单上显示此内容。
Dim frm As Form
DoCmd.OpenForm "vikesForm", acNormal
Set frm = Forms("vikesForm")
Set frm.Recordset = rs 'sets the recordset of the form to the recordset you generated from your query.
最后一步假设您已设置表单以接受此记录集的结构。即绑定到右列的文本框。