说,你在访问已保存的查询名为[getStudentsByClass]
PARAMETERS [Enter Class:] Short;
SELECT Student.*
FROM Student
WHERE (((Student.Class)=[Enter Class:]));
如果你运行它交互系统会提示“输入类”,然后显示相应的结果。如果要从VBA代码运行该查询,则需要先提示输入参数值,然后通过QueryDef对象运行查询。
Dim storeHere As Integer
Dim cdb As DAO.Database, qdf As DAO.QueryDef, rst As DAO.Recordset
storeHere = InputBox("Enter class:", "Enter Parameter Value")
Set cdb = CurrentDb
Set qdf = cdb.QueryDefs("getStudentsByClass")
qdf![Enter Class:] = storeHere
Set rst = qdf.OpenRecordset(dbOpenSnapshot)
' Do what you want with the returned records. For demo purposes:
Debug.Print rst.RecordCount & " record(s) returned."
rst.Close
Set rst = Nothing
Set qdf = Nothing
Set cdb = Nothing
用户如何输入值?通过弹出窗口或单元格? – 2014-09-05 10:44:30
通过默认情况下出现的meesage框(在访问中)。 – 2014-09-05 11:00:45
好的,那么值是如何分配给'storeHere'整数? – 2014-09-05 11:01:31