【发布时间】:2018-10-30 12:30:01
【问题描述】:
我目前正在使用 MS Access 开发数据库。
问题: 我有一个带有 ComboBox (TNIDCombo) 和一个子窗体的主窗体。子表单包含要过滤的表格,组合框包含应该用于过滤子表单的值。
Surfing Stackoverflow 我了解到,您可以在 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”包含数值,这就是我没有想到的原因。这解决了我的问题!谢谢