MS Access VBA DoCmd.OpenForm使用where子句不过滤基于DAO查询的记录集

问题描述

我正在尝试摆脱链接表,仅使用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子句不起作用。第二种形式总是在第一种记录上打开。正常吗使其在指定记录上打开的最佳方法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)