首先,用户使用黄色部分选择产品。这将生成结果部分右侧下拉框的信息。用户选择特定产品,Dlookups在文本框中生成值。
在下面的表格中,我有一个列表框(目前没有图片)。列表框列出了使用attributes部分从查询生成的信息。问题是列表框经常显示查询中与文本框中的任何结果都不匹配的信息。我需要从列表中删除该结果。
使用下面给出的代码,它遍历每个文本框控件并检查每个文本框中的值是否与查询结果相匹配。如果没有,那么从列表框中删除。但它似乎没有起作用。有关此代码出错的建议或有关如何实现相同目标的建议。
Private Sub Command87_Click()
'Refine Search Results based on the control attributes
Dim iCtr As Long, valFound As Boolean, frmCtl As Control
Dim selStr As String
With Me.ResList
iCtr = .ListCount
While iCtr <> 0
For Each frmCtl In Me.Controls
If frmCtl.ControlType = acTextBox Then
If .Column(0, iCtr) = frmCtl.Value Then
valFound = True
Exit For
End If
End If
Next
If Not valFound Then selStr = selStr & .Column(0, iCtr) & ","
iCtr = iCtr - 1
Wend
End With
If Len(selStr) > 0 Then
selStr = Left(selStr, Len(selStr) - 1)
Me.ResList.RowSource = ("Test_Qry")
End If
End Sub
答案 0 :(得分:1)
selStr = Left(selStr, Len(selStr) - 1)
Me.ResList.RowSource = ("Test_Qry")
您似乎拥有selStr
所需的内容,但您不会对此做任何事情。您需要执行以下操作:
<击> Me.ResList.RowSourceType = "Value List"
击>
Me.ResList.RowSourceType = "Table/Query"
Me.ResList.RowSource = selStr
上面的注意更正,2014年6月2日