如何避免重复值
当我从数据库添加值时,列表框应避免重复值。如何避免重复值
对于实施例
的List1框
Value
100
200'
300
从表中,当添加相同的值001,列表框,应避免的值。当我尝试添加400时,列表框应该允许添加。
当您创建列表框时,应该使用字典来存储所有这些值。
然后,您可以检查,如果该值存在:
If Not dict.Exists(key) Then
dict.Add key, value
listitem.Add key
End If
看到这个主题的更多信息:Does VBA have Dictionary Structure?
不知道我是否理解你的问题,但我建议限制他们从数据库返回的值。如果不了解数据库的外观,我建议查找DISTINCT并在查询中使用它以返回列表框的列表
如果值已经在列表框中可用,意味着该怎么做...? – Gopal
为了避免添加重复项,您需要检查列表中的每个条目。 你可以用特定的方法解决这个问题,但它取决于代码的其他功能。
但是... 要重申jworrin说过的话,您应该重构数据库查询以仅获取要显示的数据。
VB6的ListBox控件没有一个方法,以确定它是否已经包含给定值。您必须使用ListBox的List()和ListCount属性来执行搜索。如果ListBox的Sorted = True,则可以使用二进制搜索模式;否则将不得不进行顺序搜索。
我假设你通过AddItem填充项目,而不是数据绑定(DataSource,DataField等)。如果您正在使用数据绑定,那么您将需要使用SQL,并可能使用DISTINCT,正如jworrin所建议的那样。
当你检索数据时,你不能在你的SQL语句中使用DISTINCT关键字吗? –
如果列表框中的Value已经存在,该怎么办......? – Gopal
当您说“添加相同的值001”时,您的意思是? “添加相同的值100”?如果是这样,当你说添加,你的意思是你将它添加到数据库,或者你的意思是你在VB代码中添加它,然后用数据库值填充列表框? – jworrin