Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    31

    vb popolare combobox da risultato di radiobutton

    ciao
    ho provato a guardare qui in giro ma non sono riuscito a trovare la risposta.

    ho 4 radiobutton (male,female,pre,main), raggruppati in 2 gruppi (gender,clz) usando la proprietà groupname; questo perchè se seleziono male poi possa scegliere pre o main: in sostanza ho quattro selezioni possibili.
    in base alla selezione vorrei popolare una combobox; chiaramente il popolamento è diverso in base alla selezione.

    nella form riesco ad effettuare la selezione ma la combobox non si popola e non mi da nessun tipo di errore.

    mi sapreste dare una mano? abbiate pietà!

    codice:
    Private Sub Female_Click()
    gender = 2
    End Sub
    
    Private Sub Main_Click()
    clz = 2
    End Sub
    
    Private Sub Male_Click()
    gender = 1
    End Sub
    
    Private Sub Pre_Click()
    clz = 1
    End Sub
    
    Private Sub Combobrand_Change()
    
    If gender = 1 And clz = 1 Then
    g1clz1 = Array("love_u_h09")
    For x = 1 To 1
    Combobrand.AddItem g1clz1(x)
    Next x
    End If
    
    If gender = 2 And clz = 1 Then
    g2clz1 = Array("seeby_d_h09", "mcq_d_h09", "love_d_h09")
    For y = 1 To 3
    Combobrand.AddItem g2clz1(y)
    Next y
    End If
    
    If gender = 1 And clz = 2 Then
    g1clz2 = Array("mcq_u_i09", "love_u_i09", "cs_u_i09")
    For z = 1 To 3
    Combobrand.AddItem g1clz2(z)
    Next z
    End If
    
    If gender = 2 And clz = 2 Then
    g2clz2 = Array("seeby_d_i09", "love_d_i09", "mcq_d_i09", "cs_d_i09", "anna_d_i09", "kj_d_i09")
    For w = 1 To 6
    Combobrand.AddItem g1clz2(w)
    Next w
    End If
    
    
    End Sub

  2. #2
    Ma l'evento "Private Sub Combobrand_Change()" viene eseguito facendo il debug?

    Potresti anche modificare così:

    codice:
    Private Sub Female_Click()
    gender = 2
    'Chiamata alla cub
    Combobrand
    End Sub
    
    Private Sub Main_Click()
    clz = 2
    'Chiamata alla cub
    Combobrand
    End Sub
    
    Private Sub Male_Click()
    gender = 1
    'Chiamata alla cub
    Combobrand
    End Sub
    
    Private Sub Pre_Click()
    clz = 1
    'Chiamata alla cub
    Combobrand
    End Sub
    
    Private Sub Combobrand()
    
    If gender = 1 And clz = 1 Then
    g1clz1 = Array("love_u_h09")
    For x = 1 To 1
    Combobrand.AddItem g1clz1(x)
    Next x
    End If
    
    If gender = 2 And clz = 1 Then
    g2clz1 = Array("seeby_d_h09", "mcq_d_h09", "love_d_h09")
    For y = 1 To 3
    Combobrand.AddItem g2clz1(y)
    Next y
    End If
    
    If gender = 1 And clz = 2 Then
    g1clz2 = Array("mcq_u_i09", "love_u_i09", "cs_u_i09")
    For z = 1 To 3
    Combobrand.AddItem g1clz2(z)
    Next z
    End If
    
    If gender = 2 And clz = 2 Then
    g2clz2 = Array("seeby_d_i09", "love_d_i09", "mcq_d_i09", "cs_d_i09", "anna_d_i09", "kj_d_i09")
    For w = 1 To 6
    Combobrand.AddItem g1clz2(w)
    Next w
    End If
    
    End Sub
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    31
    In effetti non mi pare che Combobrand venga debuggato e non so perchè.
    Ho provato a fare come dici tu ma mi da errore:

    "errore di compilazione
    membro già esistente in un modulo di oggetto da cui il modulo di oggetto deriva "

  4. #4
    Prova così:

    codice:
    Private Sub Female_Click()
       gender = 2
       caricaCombo
    End Sub
    
    Private Sub Main_Click()
       clz = 2
       caricaCombo
    End Sub
    
    Private Sub Male_Click()
       gender = 1
       caricaCombo
    End Sub
    
    Private Sub Pre_Click()
       clz = 1
       caricaCombo   
    End Sub
    
    Private Sub caricaCombo()
    
       If gender = 1 And clz = 1 Then
          Combobrand.Clear
          g1clz1 = Array("love_u_h09")
          For x = 1 To 1
              Combobrand.AddItem g1clz1(x)
          Next x
       End If
      
       If gender = 2 And clz = 1 Then
          Combobrand.Clear
          g2clz1 = Array("seeby_d_h09", "mcq_d_h09", "love_d_h09")
          For y = 1 To 3
              Combobrand.AddItem g2clz1(y)
          Next y
       End If
      
       If gender = 1 And clz = 2 Then
          Combobrand.Clear
          g1clz2 = Array("mcq_u_i09", "love_u_i09", "cs_u_i09")
          For z = 1 To 3
              Combobrand.AddItem g1clz2(z)
          Next z
       End If
      
       If gender = 2 And clz = 2 Then
          Combobrand.Clear
          g2clz2 = Array("seeby_d_i09", "love_d_i09", "mcq_d_i09", "cs_d_i09", "anna_d_i09", "kj_d_i09")
          For w = 1 To 6
              Combobrand.AddItem g1clz2(w)
          Next w
       End If
    
    End Sub
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    31
    uhm non mi pare che cambi molto così; tra l'altro mi da lo stesso errore di prima.
    io ho provato così:

    codice:
    Private Sub Female_Click()
    gender = 2
    Call Combobrand_change
    End Sub
    
    Private Sub Main_Click()
    clz = 2
    Call Combobrand_change
    End Sub
    
    Private Sub Male_Click()
    gender = 1
    Call Combobrand_change
    End Sub
    
    Private Sub Pre_Click()
    clz = 1
    Call Combobrand_change
    End Sub
    
    Private Sub Combobrand_change()
    
    If gender = 1 And clz = 1 Then
    g1clz1 = Array("love_u_h09")
    For x = 1 To 1
    Combobrand.AddItem g1clz1(x)
    Next x
    End If
    
    If gender = 2 And clz = 1 Then
    g2clz1 = Array("seeby_d_h09", "mcq_d_h09", "love_d_h09")
    For y = 1 To 3
    Combobrand.AddItem g2clz1(y)
    Next y
    End If
    
    If gender = 1 And clz = 2 Then
    g1clz2 = Array("mcq_u_i09", "love_u_i09", "cs_u_i09")
    For z = 1 To 3
    Combobrand.AddItem g1clz2(z)
    Next z
    End If
    
    If gender = 2 And clz = 2 Then
    g2clz2 = Array("seeby_d_i09", "love_d_i09", "mcq_d_i09", "cs_d_i09", "anna_d_i09", "kj_d_i09")
    For w = 1 To 6
    Combobrand.AddItem g2clz2(w)
    Next w
    End If
    
    
    End Sub
    e per lo meno nel debug arriva dentro la sub Combobrand_change; ora mi da uno strano errore dicendomi "indice non incluso nell'intervallo" all'altezza dell'if della selezione effettuata.


  6. #6
    Prova nuovamente il codice che ti ho postato sopra, l'ho modificato, forse nell'attimo che tu avevi preso la versione precedente.
    Vedi come va.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    31
    Originariamente inviato da maximum
    Prova nuovamente il codice che ti ho postato sopra, l'ho modificato, forse nell'attimo che tu avevi preso la versione precedente.
    Vedi come va.


    ho inserito le tue modifiche ma ora mi da lo stesso messaggio sull'indice non incluso.
    a me sembra piuttosto lineare il ragionamento, non capisco dove sbaglio.


  8. #8
    Dove te lo dà?
    Puoi indicare (previo debug) il punto preciso?
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    31
    Originariamente inviato da maximum
    Dove te lo dà?
    Puoi indicare (previo debug) il punto preciso?
    Ad esempio se seleziono male e pre ( gender=1 e clz=1 ) me lo da esattamente qui:

    codice:
    If gender = 1 And clz = 1 Then
    Combobrand.Clear
    g1clz1 = Array("love_u_h09")
    For x = 1 To 1
    Combobrand.AddItem g1clz1(x)
    Next x
    End If

  10. #10
    Modifica la Sub "caricaCombo" così e ti funzionerà (ho provato io direttamente):

    codice:
    Private Sub caricaCombo()
    
       If gender = 1 And clz = 1 Then
          Combobrand.Clear
          g1clz1 = "love_u_h09"
          Combobrand.AddItem g1clz1
       End If
      
       If gender = 2 And clz = 1 Then
          Combobrand.Clear
          g2clz1 = "seeby_d_h09,mcq_d_h09,love_d_h09"
          arr_g2clz1 = Split(g2clz1, ",")
          For y = 0 To UBound(arr_g2clz1)
              Combobrand.AddItem arr_g2clz1(y)
          Next y
       End If
      
       If gender = 1 And clz = 2 Then
          Combobrand.Clear
          g1clz2 = "mcq_u_i09,love_u_i09,cs_u_i09"
          arr_g1clz2 = Split(g1clz2, ",")
          For z = 0 To UBound(arr_g1clz2)
              Combobrand.AddItem arr_g1clz2(z)
          Next z
       End If
      
       If gender = 2 And clz = 2 Then
          Combobrand.Clear
          g2clz2 = "seeby_d_i09,love_d_i09,mcq_d_i09,cs_d_i09,anna_d_i09,kj_d_i09"
          arr_g2clz2 = Split(g2clz2, ",")
          For w = 0 To UBound(arr_g2clz2)
              Combobrand.AddItem arr_g2clz2(w)
          Next w
       End If
    
    End Sub
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.