MS 访问错误。 3464,过滤器类型不匹配,如何正确设置过滤器?
Posted
技术标签:
【中文标题】MS 访问错误。 3464,过滤器类型不匹配,如何正确设置过滤器?【英文标题】:MS Access Err. 3464, Typemismatch on Filter, How to set a Filter properly? 【发布时间】:2018-10-30 12:30:01 【问题描述】:我目前正在使用 MS Access 开发数据库。
问题: 我有一个带有 ComboBox (TNIDCombo) 和一个子窗体的主窗体。子表单包含要过滤的表格,组合框包含应该用于过滤子表单的值。
Surfing *** 我了解到,您可以在 ComboBox 的不同状态上绑定宏,例如“afterUpdate”,这就是我尝试过的:
Private Sub TNIDCombo_AfterUpdate()
On Error GoTo Proc_Error
If IsNull(Me.TNIDCombo) Then
Me.DQ_ListeTNIDs.Form.Filter = ""
Me.DQ_ListeTNIDs.Form.FilterOn = False
Else
Me.DQ_ListeTNIDs.Form.Filter = "WMSTI_AUFTRNRAG=" & Me.TNIDCombo
Me.DQ_ListeTNIDs.Form.FilterOn = True
End If
Proc_Exit:
Exit Sub
Proc_Error:
MsgBox "Fehler " & Err.Number & " Beim Setzen des Filters:" & vbCrLf & Err.Description
Resume Proc_Exit
End Sub
DQ_ListeTNIDs
是子表单的名称,"WMSTI_AUFTRNRAG"
是子表单中应该被过滤的列之一的列标题的名称。
遗憾的是,在 FormView 中使用 ComboBox 时,这会引发错误 3464,类型不匹配 有人可以向我指出该错误的原因吗?
感谢您的任何回答。 -忍者
【问题讨论】:
也许您的 WMSTI_AUFTRNRAG 需要一个字符串?如果是这样,您需要引号:Me.DQ_ListeTNIDs.Form.Filter = "WMSTI_AUFTRNRAG='" & Me.TNIDCombo & "'"
.
我什至不知道这可能是一件事。 “WMSTI_AUFTRNRAG”包含数值,这就是我没有想到的原因。这解决了我的问题!谢谢
【参考方案1】:
正如@Gustav 所说:
Me.DQ_ListeTNIDs.Form.Filter = "WMSTI_AUFTRNRAG='" & Me.TNIDCombo & "'"
成功了。该列只包含数值,但该字段的数据类型是短文本.. TIL.
谢谢古斯塔夫
【讨论】:
以上是关于MS 访问错误。 3464,过滤器类型不匹配,如何正确设置过滤器?的主要内容,如果未能解决你的问题,请参考以下文章