combobox mit labelbox verbinden

Hallo zusammen,

Habe mich hier angemeldet um hoffentlich VB zu lernen.
Ich hoffe jemand aus der Gemeinde kann mir bei meinem folgendem Problem helfen.

Ich habe eine Combobox, wenn ich auf diese klicke kann ich, sagen wir die Zahl 2, 4 oder 6 auswählen. Wenn ich zum beispiel die Zahl 2 anklicke, möchte ich, dass meine Labelbox1 erscheint, welche bei programm start nicht sichtbar ist. wenn ich die Zahl 4 anklicke möchte ich das die Labelbox2 erscheint aber labelbox1 nicht.

Kann mir einer einen Tip geben?

Danke im voraus...
 
Meinst du es ungefär so?

Visual Basic:
Private Sub Combo1_Click()
   Select Case Combo1.Text
      Case 2
         Label1.Visible = True
         Label2.Visible = False
      Case 4
         Label1.Visible = False
         Label2.Visible = True
      'Noch erweiterbar...
   End Select
End Sub
 
Vielen Dank fuer die schnelle Hilfe. Ich hatte den gleichen Code gehabt, doch trotzdem ging es nicht. Nachdem ich aber genau deinen Code nochmal uebernommen hatte ging es. Ich hatte combo1_change() und nicht click() stehen...

nun stehe ich vor einem neuem problem.

Ich habe combo1 und combo2

combo1 hat sagen wir : A, B, C, D
combo2 hat sagen wir : 1, 2, 3, 4

nun will ich zu jeder option ein Preis zuteilen.

sprich A1, A2, A3, A4,B1, B2 etc.
Wenn ich A1 auswaehle kommt sagen wir 10 raus
wenn ich D3 auswaehle kommt 5 heraus.

ich habees soweit mit den ganzen Preisen zugeteilt fuer die A serie, doch wenn ich B serie einfuegen will, kommt VB mit dem Befehl CASE in konflikt, da er dann auf die A serie zugreift und nicht auf B...

Hast du dafuer noch einen tip?


fuer combo 1 habe ich folgenden code:

Select Case Combo1.ListIndex
Case 0
Combo2.ListIndex = True
Case 1
Combo2.ListIndex = True
Case 2
Combo2.ListIndex = True
Case 3

combo2:

Case 0
If Combo1.ListIndex = A Then
Label62.Caption = "$10"
Check24.Value = 1
Label62.Visible = True
Check24.Visible = True
Else
Label62.Visible = False
Check24.Visible = False
End If

Case 1
If Combo1.ListIndex = A Then
Label62.Caption = "$2,402"
Check24.Value = 1
Label62.Visible = True
Check24.Visible = True
Else
Label62.Visible = False
Check24.Visible = False
End If

Case 2
If Combo1.ListIndex = A Then
Label62.Caption = "n/a"
Check24.Value = 1
Label62.Visible = True
Check24.Visible = True
Else
Label62.Visible = False
Check24.Visible = False
End If

Case 3
If Combo1.ListIndex = A Then
Label62.Caption = "$2,631"
Check24.Value = 1
Label62.Visible = True
Check24.Visible = True
Else
Label62.Visible = False
Check24.Visible = False
End If
end select
 
Guten Morgen, :)

also, ich glaube diesmal habe ich es nicht so richtig verstanden. :(

Erstmal ein paar Fragen:

Wieso schreibst du:
Visual Basic:
 Case 0
Combo2.ListIndex = True
Case 1
Combo2.ListIndex = True
Case 2
Combo2.ListIndex = True
?
Die Eigenschaft Listindex nimmt ja nur Zahlen, und da du versuchst ihr einen booleschen Wert (wahr) zuzuweisen, kann VB damit nichts anfangen und wandelt True in -1 um. Und was bringt es den ListIndex der ComboBox auf -1 zu setzen, da er erst ab 0 anfängt ;)

Das zweite ist das:
Visual Basic:
 If Combo1.ListIndex = A Then
Label62.Caption = "$10"
Check24.Value = 1
Label62.Visible = True
Check24.Visible = True
Else
Label62.Visible = False  'Vorallem das
Check24.Visible = False  'Und das
End If

Mit deiner Else-Klausel verhinderst du ja, dass etwas angezeigt werden kann, da dein Label ja unsichtbar gemacht wird. Ist das so gewollt? Willst du das Ergebnis der anderen Buchstaben vielleicht in andere Labels/ein anderes Label schreiben?

Noch ein Hinweis:
Visual Basic:
If Combo1.ListIndex = A Then   
'...
'...
Da fehlen die Anführungszeichen um das A herum, denn wenn man sie nicht setzt, denkt VB, A sei eine Variable und versucht diese, wegen der Eigenschaft ListIndex, in eine Zahl zu verwandeln. Da diese Variable aber leer ist, kommt dabei immer 0 raus und das ist ja wohl kaum gewollt, oder?


Ich habe mal etwas ausprobiert, was wahrscheinlich nicht dem entspricht, was du versuchst zu machen, aber vielleicht bringt dich das ja schon weiter. :)

Visual Basic:
Private Sub Combo2_Click()
   Select Case Combo2.ListIndex
      Case 0
         If Combo1.Text = "A" Then Label62.Caption = "$10"
         If Combo1.Text = "B" Then Label62.Caption = "Ein Preis"
         If Combo1.Text = "C" Then Label62.Caption = "Ein Preis"
         If Combo1.Text = "D" Then Label62.Caption = "Ein Preis"
      Case 1
         If Combo1.Text = "A" Then Label62.Caption = "$2,402"
         If Combo1.Text = "B" Then Label62.Caption = "Ein Preis"
         If Combo1.Text = "C" Then Label62.Caption = "Ein Preis"
         If Combo1.Text = "D" Then Label62.Caption = "Ein Preis"
      Case 2
         If Combo1.Text = "A" Then Label62.Caption = "n/a"
         If Combo1.Text = "B" Then Label62.Caption = "Ein Preis"
         If Combo1.Text = "C" Then Label62.Caption = "Ein Preis"
         If Combo1.Text = "D" Then Label62.Caption = "Ein Preis"
      Case 3
         If Combo1.Text = "A" Then Label62.Caption = "$2,631"
         If Combo1.Text = "B" Then Label62.Caption = "Ein Preis"
         If Combo1.Text = "C" Then Label62.Caption = "Ein Preis"
         If Combo1.Text = "D" Then Label62.Caption = "Ein Preis"
   End Select
         
   'Das Folgende habe ich bewusst mal rausgelassen, da ich noch nicht ganz verstehe, zu was das gut ist. :)
   
   'If Combo1.Text = "A" Then
      'Check24.Value = 1
      'Label62.Visible = True
      'Check24.Visible = True
   'Else
      'Label62.Visible = False
      'Check24.Visible = False
   'End If

End Sub

So, ich hoffe du meldest dich nochmal :)

MfG
 
Guten Morgen Masterclavat,

ich habe mal deinen Code bei mir eingegeben, also ich muss schon sagen, einfach genial... Genau damach habe ich gesucht. Ich muss sagen, ich habe es mir viel zu kompliziert gemacht. Bin ja noch anfänger... Also mit deiner ersten Frage mit combo1.listindex = true,
jetzt wo du es sagst fällt es mit auch wieder ein, ich hatte damal was drüber gelesen. :rolleyes:

Auf den zweiten VB code hin, ja die Else klausel wollte ich so, praktisch das wenn ich eine option auswähle nur einmal in label62 erscheinen kann, wenn ich A1 auswähle kann ich B2 nicht benutzen...

Einfach super, ich danke dir vielmals. das programm dient dazu mir das leben ein wenig einfacher zu machen da ich ingenieur bin und mehr und mehr kunden kommen vom bergbau, die die gleichen getriebe mit motor benötigen.

So werde mit sicherheit morgen noch mal eine frage an dich haben... der code war perfekt

So grüsse aus dem sonnigen Australien
 
Es freut mich, dass ich dir helfen konnte. :)
Du kannst jederzeit fragen, ich und die anderen Mitglieder des Forums helfen dir gerne. :)
 
Zurück