组合框上的参数值

Posted

技术标签:

【中文标题】组合框上的参数值【英文标题】: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 & "'" 成功了,非常感谢老兄! 【参考方案1】:

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

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

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

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

这适用于所有数据类型。

【讨论】:

以上是关于组合框上的参数值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 上使用数据库数据获取组合框上的范围值

访问 2007 组合框上的选定值未显示在多个记录上

如何同步组合框和文本字段值。即如何从存储在文本字段中加载不同的值,而我正在更改组合框上的值

从组合框上的多个选择中获取值

使用带有排序组合框和页面组合框上的许多项目的列表视图

如何在访问中禁用组合框上的自动完成功能?