我有一个带搜索框的主窗体,当点击id时,搜索会将监督过滤到名为subfrmSupRes
的子窗体中。
我希望将用户结果过滤到另一个名为subfrmUsrRes
的子表单中,我得到438运行时错误'对象不支持此属性或方法'
当我调试代码时,我需要的变量可以在strWhere
变量中看到。有人可以提一些建议吗?
Private Sub Sup_ID_Click()
Dim strWhere As String
With Forms!frmSupResults!subfrmSupRes!Sup_ID
If .Text = vbNullString Then
strWhere = "(false)"
Else
strWhere = "frmsupresults.subfrmSupRes.Sup_ID like """ & .Text & "*"""
End If
End With
With Forms!frmSupResults!subfrmUsrRes!Sup_ID
.Filter = strWhere
.FilterOn = True
End With
End Sub
答案 0 :(得分:0)
好的,以下是评论中的所有更改,全部在一个代码块中:
Private Sub Sup_ID_Click()
Dim strWhere As String
With Forms.frmSupResults.subfrmSupRes!Sup_ID
If .Text = vbNullString Then
strWhere = ""
Else
strWhere = "[Sup_ID] like """ & .Text & "*"""
End If
End With
With Forms.frmSupResults.subfrmUsrRes.Form
If Len(strWhere) > 0 Then
.Filter = strWhere
.FilterOn = True
Else
.FilterOn = False
End If
End With
End Sub
修正摘要:
strWhere = ""
strWhere = "[Sup_ID] like """ & .Text & "*"""
With Forms.frmSupResults.subfrmUsrRes.Form
If Len(strWhere) > 0 Then
.FilterOn = False
这应该让你非常接近。我无法回答的唯一问题是Sup_ID
是查询中的有效字段还是subfrmUsrRes.Form
的SQL。
答案 1 :(得分:-2)
我需要在子窗体控件之前添加解释。
Private Sub Sup_ID_Click()
Dim strWhere As String
With Forms.frmSupResults.subfrmSupRes!Sup_ID
If .Text = vbNullString Then
strWhere = ""
Else
strWhere = "[Sup_ID] like """ & .Text & "*"""
End If
End With
With Forms.frmSupResults.subfrmUsrRes.Form
If Len(strWhere) > 0 Then
.Filter = strWhere
.FilterOn = True
Else
.FilterOn = False
End If
End With
End Sub