我有一份包含工作/任务详细信息的报告,还有一个为该报告提供大部分数据的表格。鉴于报告是查看数据大图的好方法,而表格是编辑数据的最佳方式,我希望能够单击一行,并让它打开相关记录表单 View 。
有谁知道如何通过 VBA 执行此操作?在我看来,这应该是可能的,尽管我对 Access 中的对象的了解有限。
更新
我已经为我的报告实现了以下代码:
Private Sub Edit_Click()
Dim EntityName As String
Dim DocName As String
DocName = "Entity: Overview"
strWhere = "[Entity Name]='" & Entity & "'"
DoCmd.OpenForm DocName, acNormal, , EntityName
End Sub
它成功打开了正确的表单,并且还抓取了正确的实体名称,但是它没有正确过滤。我看不出代码有什么问题。
最佳答案
在您的 Edit_Click()
过程中,您将 EntityName
作为OpenForm
的WhereCondition 参数。
DoCmd.OpenForm DocName, acNormal, , EntityName
但是,您还没有为 EntityName
分配任何内容,因此它是一个空字符串。我认为您应该使用 strWhere
作为 WhereCondition。
Private Sub Edit_Click()
Dim strWhere As String
Dim DocName As String
DocName = "Entity: Overview"
strWhere = "[Entity Name]='" & Me.Entity & "'"
DoCmd.OpenForm DocName, acNormal, , strWhere
End Sub
我假设 Entity
是控件的名称,这是您获取构建 strWhere
的值的地方。如果报表中没有名为 Entity
的控件,那么即使原始查询中有 Entity
,代码也不会工作。
关于ms-access - 是否可以单击报告记录以使用 VBA 在 Access 中打开相关表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11304831/