データベースから値を追加するとき、リストボックスは重複する値を避ける必要があります。テーブルの例重複する値を避ける方法
のList1ボックス
Value
100
200'
300
については
私が同じ値001を追加した場合、リストボックスが値を避ける必要があります。 400を追加しようとすると、リストボックスに追加できるようにする必要があります。
データベースから値を追加するとき、リストボックスは重複する値を避ける必要があります。テーブルの例重複する値を避ける方法
のList1ボックス
Value
100
200'
300
については
私が同じ値001を追加した場合、リストボックスが値を避ける必要があります。 400を追加しようとすると、リストボックスに追加できるようにする必要があります。
リストボックスを作成するときは、辞書を使用してこれらの値をすべて保存する必要があります。値が存在する場合は
その後、次のことが確認できます。
If Not dict.Exists(key) Then
dict.Add key, value
listitem.Add key
End If
詳細については、このスレッドを参照してください:VB6のListBoxコントロールを決定するための方法を持っていないDoes VBA have Dictionary Structure?
ご質問が分かりませんが、データベースから戻ってくるときに値を制限することをお勧めします。データベースがどのように見えるのかについては、DISTINCTを検索し、リストボックスのリストを返すクエリで使用することをお勧めします。
既に値がリストボックスで利用可能である場合は、何をすべきか...? – Gopal
重複を追加しないようにするには、リスト内のすべてのエントリをチェックする必要があります。 これはドメイン固有の方法で回避できますが、コードが何をしているかによって異なります。
しかし... jworrinが言ったことを繰り返し述べるには、表示したいデータだけを取得するようにデータベースクエリを再構成する必要があります。
それはすでに与えられた含まれている場合値。 ListBoxのList()およびListCountプロパティを使用して検索を行う必要があります。 ListBoxがSorted = Trueの場合、バイナリ検索パターンを使用できます。それ以外の場合は、順次検索でなければなりません。
データバインディング(DataSource、DataFieldなど)ではなく、AddItemを使用して項目を設定していると仮定しています。データバインディングを使用している場合は、SQLを操作し、おそらくDISTINCTを使用する必要があります.jworrinが推奨しているとおりです。
データを取得するときに、SQL文でDISTINCTキーワードを使用できませんか? –
既にリストボックスでValueが使用可能である場合は、何をすべきか...? – Gopal
「同じ値を追加する」と言ったら、意味はありましたか? "同じ値100を加えてください"?もしそうなら、あなたが追加と言うとき、あなたはそれをデータベースに追加しているのですか?それとも、VBコードでそれを追加しているということですか? – jworrin