【发布时间】:2014-04-08 15:01:06
【问题描述】:
首先,用户使用黄色部分选择产品。这将为结果部分右侧的下拉框生成信息。用户选择特定产品,Dlookups 在文本框中生成值。
在下面的表格中,我有一个列表框(目前没有图片)。列表框列出了使用属性部分从查询中生成的信息。问题是列表框经常显示来自查询的信息,这些信息与文本框中的任何结果都不匹配。我需要从列表中删除该结果。
使用下面给出的这段代码,它循环遍历每个文本框控件并检查每个文本框中的值是否与查询结果匹配。如果没有,则从列表框中删除。但是,它似乎不起作用。有关此代码哪里出错的任何建议或有关如何实现相同目标的建议。
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
【问题讨论】:
-
你能在这方面取得进展吗?
-
目前它还没有被搁置,因为我们的注意力已经集中在其他需要尽快完成的项目上。我会看看这周,让你知道。
-
我仍然有这个问题。我仍然无法减少与表单上的文本框不相等的列表。有任何想法吗?抱歉,花了这么长时间才回复你,我被其他优先级更高的项目轰炸了。
-
这可能会通过我对答案的新更正来解决。
-
效果比以前好。它计算出列表中有 3 个,但是 2 个不匹配,应该留下一个。相反,它从列表中删除了所有三个。