forms - 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 子句不起作用。第二种形式总是在第一条记录上打开。正常吗?在指定记录上打开它的最佳方法是什么?
解决方案
推荐阅读
- android - 如何在 Android 中从一个片段转移到另一个片段
- php - 获取php中关联数组的最大值
- babeljs - 为什么 .eslintrc 可能看不到 .babelrc.js 的别名?
- csv - 根据我设置的标准读取 CVS 文件和标题值
- css - 第一个拨动开关未显示
- java - Android FFMpeg Rendom 文件输入命令创建视频幻灯片
- reactjs - mocha-webpack 编译时无法读取未定义的属性“babel”
- actions-on-google - 如何限制智能家居应用的区域?
- video - 如何在不重新启动视频的情况下在播放视频期间更改视频的 fps
- angular - 为什么要在我添加新字段时删除以前的字段?