【问题标题】:Parameter Value on Combo Box组合框上的参数值
【发布时间】:2017-06-13 09:28:41
【问题描述】:

我正在尝试使用组合框过滤子表单。我有什么工作,但它不断提出一个“输入参数值”文本框。当我输入要过滤的值时,它会搜索子表单没有问题。我宁愿不必输入该值,因为它违背了组合框的目的。

这是我的 ComboBox 代码,

    Private Sub ComboFE_AfterUpdate()

    On Error GoTo Proc_Error
If IsNull(Me.ComboFE) Then
   Me.SubFormPF.Form.Filter = ""
   Me.SubFormPF.Form.FilterOn = False
Else
  Me.SubFormPF.Form.Filter = "Lead_FE = " & Me.ComboFE
  Me.SubFormPF.Form.FilterOn = True
End If
Proc_Exit:
   Exit Sub
Proc_Error:
   MsgBox "Error " & Err.Number & " in setting subform filter:" & vbCrLf & Err.Description
   Resume Proc_Exit

End Sub

我已检查并确保所有名称都正确并与我的表格上的相应项目匹配。

有什么想法吗? 非常感谢

【问题讨论】:

  • 如果Lead_FE 是文本列,则需要在值周围加上引号。 .Filter = "Lead_FE = '" & Me.ComboFE & "'"
  • 成功了,非常感谢老兄!

标签: ms-access combobox ms-access-2013


【解决方案1】:

在文本列上应用过滤器时,值需要引号。

Me.SubFormPF.Form.Filter = "Lead_FE = '" & Me.ComboFE & "'"

为避免值本身包含引号时出现问题,请在此处使用 Gustav 的 CSql() 函数:https://stackoverflow.com/a/36494189/3820271

Me.SubFormPF.Form.Filter = "Lead_FE = " & CSql(Me.ComboFE.Value)

这适用于所有数据类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多