Hallo liebe VBAler!
Das Forum ist richtig toll und ich bin froh, dass es Leute unter euch gibt, die sich die Mühe machen, es zu betreiben und wertvolle Hilfe zu geben. Dafür schonmal vielen Dank!
Nun zu meinem Problem: Ich habe einen benutzerdefinierten Datentyp, nämlich mtHERSTELLER.
Private Type mtHERSTELLER
Name As String
Vertragsnummer As String
Nummer As Integer
End Type
In einem dynamischen Array mit dem Datentyp mtHERSTELLER habe ich mehrere Hersteller mit Namen, Vertragsnummer und einer durchlaufenden Nummerierung hinterlegt (letzteres zur Identifikation bei nichtvorhandener Vertragsnummer):
Private gtypHerstellerArray() As mtHERSTELLER
Wenn die UserForm initialisiert wird, wird das Array mit Daten aus meiner Tabelle gefüttert. Es gibt Spalten mit Name, Vertragsnummer und durchlaufender Nummerierung, die in das Array übernommen wird. Hat das Array seine Daten, werden anschließend zwei ComboBoxen mit Daten aus dem Array gefüllt.
ComboBox1 soll die Herstellernamen bekommen:
gtypHerstellerArray(i).Name
ComboBox 2 soll die dazugehörigen Vertragsnummern bekommen:
gtypHerstellerArray(i).Vertragsnummer
So weit, so gut. Den Programmcode zum Füllen schenke ich mir hier, das funktioniert soweit prima. Aber die Krux ist, dass, wenn ich einen Hersteller aus der ComboBox1 auswähle, z.B. den 17. im Array,
gtypHerstellerArray(17).Name = "Bosch"
automatisch die ComboBox2 die dazugehörige Vertragsnummer
gtypHerstellerArray(17).Vertragsnummer = "00012"
anzeigt. Und umgekehrt: Wähle ich eine Vertragsnummer (z.B. "00012") aus, soll in ComboBox2 der dazu korrespondierende Hersteller (z.B. "Bosch") dargestellt werden (vereinfachend gehe ich davon aus, dass jeder Hersteller nur eine eindeutige Vertragsnummer hat oder gar keine - das Feld Vertragsnummer kann also auch leer sein).
Wie sage ich der ComboBox2, dass er die korrespondierende Variable zum Wert in ComboBox1 herauszieht, und vice versa? Ich habe Schwierigkeiten a) zu bestimmen, welcher Eintrag im Array überhaupt ausgewählt wurde und b) diesen dann auf die jeweils andere ComboBox zu übertragen. Könnt ihr mir weiterhelfen? Für eure Mühe schon mal vielen Dank!
|