我正在尝试检查已保存查询中的记录,以确定VBA是否应禁用某些表单控件:
Dim SavedQry
SavedQry = Queries!qryCurrentItems 'or Queries("qryCurrentItems")
无法编译,因为它要我定义变量“Queries。”
您可以使用Forms!FormName!ControlName
执行此类操作来引用控件中的数据,为什么不喜欢这样?
为清楚起见;有问题的查询具有由表单填充的“参数”。代码如下。
SELECT tblColour.Colour AS Colour
FROM tblColour
INNER JOIN (tblGenCol
INNER JOIN tblAutCol ON tblAutCol.Colour = tblGenCol.Colour)
ON tblGenCol.Colour = tblColour.ID
WHERE tblGenCol.Genre = Forms!frmColourChoice!cmbGenre
AND tblAutCol.Author = Forms!frmColourChoice!cmbAuthor;
参数是Forms!frmColourChoice!cmbGenre和Forms!frmColourChoice!cmbAuthor。
答案 0 :(得分:0)
使用一两件物品:
Dim SavedQry As DAO.QueryDef
Dim rs As DAO.Recordset
Set SavedQry = CurrentDb.QueryDefs("qryCurrentItems")
SavedQry.Parameter("ParameterName1").Value = SomeValue
SavedQry.Parameter("ParameterName2").Value = AnotherValue
Set rs = SavedQry.OpenRecordset()
' Investigate records.