微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。