使用组合框过滤子表单
Filter subform by using combo box
我在表单上有一个组合框,我想过滤子表单 (SubSearchMaster_frm
)。
我收到:
Runtime error 3464: data type mismatch in expression.
代码如下:
Private Sub CboNIIN_AfterUpdate()
Me.SubSearchMaster_frm.Form.Filter = "[NIIN] = " & Me.CboNIIN
Me.SubSearchMaster_frm.Form.FilterOn = True
End Sub
子表单是一个查询。
我也试过:
Private Sub CboNIIN_AfterUpdate()
Dim sql As String
sql = "Select * from SubSearchMaster_frm where ([NIIN] = " & Me.CboNIIN & ") From subsearchmaster_frm"
Me.SubSearchMaster_frm.Form.RecordSource = sql
Me.SubSearchMaster_frm.Form.Requery
End Sub
但我也遇到了错误。
由于您已声明 NIIN
字段是 Text 数据类型,因此您需要用单引号或双引号将过滤器值括起来,否则您将收到熟悉的数据类型不匹配错误消息。
例如:
Me.SubSearchMaster_frm.Form.Filter = "[NIIN] = '" & Me.CboNIIN & "'"
没有引号,提供的是数值,因此导致数据类型不匹配。
我在表单上有一个组合框,我想过滤子表单 (SubSearchMaster_frm
)。
我收到:
Runtime error 3464: data type mismatch in expression.
代码如下:
Private Sub CboNIIN_AfterUpdate()
Me.SubSearchMaster_frm.Form.Filter = "[NIIN] = " & Me.CboNIIN
Me.SubSearchMaster_frm.Form.FilterOn = True
End Sub
子表单是一个查询。
我也试过:
Private Sub CboNIIN_AfterUpdate()
Dim sql As String
sql = "Select * from SubSearchMaster_frm where ([NIIN] = " & Me.CboNIIN & ") From subsearchmaster_frm"
Me.SubSearchMaster_frm.Form.RecordSource = sql
Me.SubSearchMaster_frm.Form.Requery
End Sub
但我也遇到了错误。
由于您已声明 NIIN
字段是 Text 数据类型,因此您需要用单引号或双引号将过滤器值括起来,否则您将收到熟悉的数据类型不匹配错误消息。
例如:
Me.SubSearchMaster_frm.Form.Filter = "[NIIN] = '" & Me.CboNIIN & "'"
没有引号,提供的是数值,因此导致数据类型不匹配。