当我从数据库中添加值时,列表框应该避免重复值。
例如
List1框
Value
100
200'
300
从表中,当我添加相同的值001时,列表框应该避免该值。当我尝试添加400时,列表框应该允许添加。
答案 0 :(得分:3)
创建列表框时,应使用字典存储所有这些值。
然后,您可以检查该值是否存在:
If Not dict.Exists(key) Then
dict.Add key, value
listitem.Add key
End If
有关详细信息,请参阅此主题:Does VBA have Dictionary Structure?
答案 1 :(得分:1)
不确定我是否理解您的问题,但我建议在数据库返回时限制值。如果不知道你的数据库是什么样的,我建议你查找DISTINCT并在你的查询中使用它来返回列表框的列表
答案 2 :(得分:1)
VB6 ListBox控件没有确定它是否已包含给定值的方法。您必须使用ListBox的List()和ListCount属性进行搜索。如果ListBox的Sorted = True,则可以使用二进制搜索模式;否则它必须是顺序搜索。
我假设您通过AddItem填充项目,而不是数据绑定(DataSource,DataField等)。如果您正在使用数据绑定,那么您将需要处理SQL,并且可能使用DISTINCT,正如jworrin所推荐的那样。
答案 3 :(得分:0)
为避免添加重复项,您需要检查列表中已有的每个条目。 您可以通过特定于域的方式解决此问题,但这取决于代码正在执行的操作。
但是... 要重申jworrin所说的内容,您应该重构数据库查询以仅获取要显示的数据。