访问子表单选择取决于组合框

Posted

技术标签:

【中文标题】访问子表单选择取决于组合框【英文标题】:Access SubForm selection depends on Combo box 【发布时间】:2017-02-04 07:06:33 【问题描述】:

我想根据我的组合框过滤器过滤我的子表单。我收到代码错误。我需要这方面的帮助。

更新后我写了一个事件:

Private Sub cboSelected_AfterUpdate()
Dim MyName As String
MyName = " select * from [ITP_Checklist Log] where ([ITP_Checklist Log].[Name] = " & Me.cboSelected & " )"

Me.ITP_Checklist_Log_subform.Form.RecordSource = MyName

Me.ITP_Checklist_Log_subform.Form.Requery

End Sub

错误:

Run-time error '3464'
Data Type Mismatch in Criteria expression.

【问题讨论】:

【参考方案1】:

对字符串值使用引号 - 仅当您不更改记录源时才需要重新查询:

Private Sub cboSelected_AfterUpdate()

    Dim MyName As String

    MyName = "select * from [ITP_Checklist Log] where ([ITP_Checklist Log].[Name] = '" & Me!cboSelected.Value & "')"

    Debug.Print MyName

    If Me!ITP_Checklist_Log_subform.Form.RecordSource = MyName Then
        Me!ITP_Checklist_Log_subform.Form.Requery
    Else
        Me!ITP_Checklist_Log_subform.Form.RecordSource = MyName
    End If

End Sub

【讨论】:

感谢您的回答@Gustav。但是这次出现编译错误:语法错误 插入带有Debug.Print 的行并告诉我们你看到了什么。 它以红色突出显示.. ... If Me!ITP_Checklist_Log_subform.Form.RecordSource = MyName Debug.Print 为 MyName 打印了什么? 抱歉@gustav,我是 Access 新手。请看看我的屏幕。i.stack.imgur.com/mQpPN.jpg

以上是关于访问子表单选择取决于组合框的主要内容,如果未能解决你的问题,请参考以下文章

访问组合框和子窗体

从第二个子表单组合框中选择值时显示的访问 2016 参数值消息

在子表单访问中绑定组合框

MSAccess - 预选组合框行

如何根据组合框选择使子表单显示数据?

如何过滤表单中具有多个组合框的 Access 子表单?