Ich habe 6 Comboboxen in einem Formular - sie sind in einem Array. Sie heißen cboClient (0) bis cboClient (5). Was ich versuche, hier zu tun ist, bestätigen, dass es ein Wert ist so etwas entlang der Linien vonCombobox-Validierung
if cboclient(0)<>"" and not isnull(cboClient(0)) then
'Do this
End if
Jeder CBO mit der gleichen Liste von Gegenständen bevölkert wird. Mein Ziel ist es, sicherzustellen, dass der Benutzer nicht die gleiche Auswahl in mehr als 1 cbo treffen kann. Grundsätzlich, wenn sie in cboClient (0) den Punkt 1 wählen, kann dieser Gegenstand in keiner anderen cbo ausgewählt werden.
Ich versuche einen Weg zu finden, so dass ich das in so wenigen Zeilen wie möglich machen kann, ich könnte es vielleicht so machen..aber es wäre extrem lang, da ich jedes cbo gegen die anderen verifizieren muss
if cboClient(0).text <> cboClient(1).text then
msgbox "OK"
Else
msgbox "Please choose again"
End if
Ich versuche, es irgendwie in einer Schleife zu schreiben? um den .text in jeder cbo zu verifizieren und sicherzustellen, dass keine zwei identische Auswahl getroffen wurde. Irgendeine Idee?
EDIT: Ich habe 6 cbo's - jeder wird mit den gleichen Daten bevölkert (sagen Daten Zahlen 1 bis 10). Wenn der Benutzer in cboClient (0) "1" auswählt, kann er dies nicht in einem anderen cbo auswählen. Ich möchte sie nicht unbedingt vor ihnen verstecken, aber sobald sie auf SPEICHERN klicken, möchte ich eine Funktion haben, die CBOs durchlaufen und prüfen, ob sie denselben Gegenstand mehr als einmal ausgewählt haben wollen, dass sie eine MsgBox sagen geben "Fix Ihre Auswahl, können Sie nicht zwei Punkte haben können"
EDIT 2: do zwei Schleifen
Vielleicht - einander innerhalb ...
dim a as integer
dim b as integer
for a = 0 to 5
for b = 1 to 5
if cboClient(a).text <> cboclient(b).text then
'keep going
else
MsgBox "you have made the same selection"
End if
next b
next a
so etwas ?
Der Tag und Titel VB.NET hat eine Lüge sein. In VB.NET gibt es keine Kontrollfelder. Wie auch immer, was ich tun würde, wäre * das * Objekt von allen anderen Comboboxen zu entfernen, sobald es in einem ausgewählt wurde. Auf diese Weise kann der Benutzer sie nicht versehentlich auswählen. Viel freundlichere Benutzeroberfläche als eine Nachrichtenbox. Ja, Sie können eine Schleife verwenden. Es ist nicht klar, was dein tatsächliches Problem ist. –
Ich entschuldige mich für Tag. Ich habe 6 cbo's - jedes wird mit den gleichen Daten bevölkert (sagen wir Daten 1 bis 10). Wenn der Benutzer in cboClient (0) "1" auswählt, kann er dies nicht in einem anderen cbo auswählen. Ich möchte sie nicht unbedingt vor ihnen verstecken, aber sobald sie auf SPEICHERN klicken, möchte ich eine Funktion haben, die CBOs durchlaufen und prüfen, ob sie denselben Gegenstand mehr als einmal ausgewählt haben Ich möchte ihnen eine MsgBox geben, die sagt: "Korrigieren Sie Ihre Auswahl, Sie können nicht zwei Elemente haben" – LD16
Es klingt wie eine Multiselect-Listbox wäre passender – Plutonix