我正在尝试摆脱链接表并仅使用 VBA 代码来生成记录集。我发现在我的 DoCmd.OpenForm 命令中使用 where 子句过滤数据不起作用。这是预期的行为吗?或者也许它应该工作并且问题位于其他地方...... OpenArgs 是唯一让我这样做的事情吗?
为了澄清我的问题:
我有两个 ms 访问表单:一个(连续表单)带有超链接和后面的点击代码,如下所示
Private Sub txtPerson_Click()
DoCmd.OpenForm "frmPersonnelDetails", , , "PersonId = " & Me.txtPersonID, acFormReadOnly, acDialog
End Sub
第二个(frmPersonnelDetails),未连接到任何记录源,记录集使用以下命令创建:
Private Sub Form_Load()
strQuery = "SELECT PersonID, Abbreviation, FirstName, LastName FROM SomeTable"
Set objDaoDb = GetDAODbConn 'function that returns database connection object
Set objDaoRS = objDaoDb.OpenRecordset(strQuery, dbOpenDynaset, dbSeeChanges)
Set Me.Form.Recordset = objDaoRS
End Sub
现在,where 子句不起作用。第二种形式总是在第一条记录上打开。正常吗?在指定记录上打开它的最佳方法是什么?