Newsgroup: it.comp.appl.access
Titolo: Aggiornare ComboBox

Saluti a tutti.
Per cortesia un aiuto.
Ho una ComboBox chiamata "CasellaRiepilogo0" con in elenco 3 voci:
Pippo;Pluto;Paperina
e una 2 ComboBox chiamata "CasellaRiepilogo1" con in elenco:
Topolino;Paperino;QuiQuoQua
Il mio intento è fare in modo di diminuire l'elenco di voci  nella 
"CasellaRiepilogo1" a seconda della selezione delle voci nella 
"CasellaRiepilogo0"
 In questo esempio vorrei che alla selezione di "Pippo" nella 
"CasellaRiepilogo0", che la "Me.CasellaCombinata2" venisse ridotta alla sola 
voce "Paperino" e
 Che selezionando "Pluto" la "CasellaCombinata2" venisse ridotta alla sola 
voce "QuiQuoQua" e che selezionando "Paperina" la "CasellaCombinata2" 
venisse aggiornata a Topolino;Paperino;QuiQuoQua
ho provato con:
If (Me.CasellaCombinata0 = "Pippo") Then
   Me.CasellaCombinata2.RemoveItem (0) ' Rimuovo la voce Topolino
ma nell' indice (2) mi da errore del tipo "Impossibile rimuovere l'elemento. 
Impossibile trovare (2) nell'elenco
    Me.CasellaCombinata2.RemoveItem (2) ' Rimuovo la voce QuiQuoQua
End If
Se invece tralascio la parte di codice di eliminazione indice (2) ed eseguo 
solo la parte (0) tutto funziona
Ho provato pure ad usare la proprietà "Additem" ma senza esito.
Grazie 1000
Giorgio 

 ha scritto nel messaggio 
news:46361f0c$0$10628$4faf...@reader2.news.tin.it...

Piuttosto che rimuovere le voci, non ti conviene rigenerare l'intero gruppo 
di opzioni possibili per la seconda combobox? In fondo una combobox può 
avere il Tipo origine riga impostato a "Elenco valori" e l'origine riga la 
puoi impostare con tutti i valori conseguenti la scelta effettuata nella 
combo precedente. I valori li devi separare con un puntoevirgola.
Ciao
Antonio

Per cortesia mi potresti fare un esempio su come attuare quanto consigliato?
Grazie


 ha scritto nel messaggio
news:46361f0c$0$10628$4faf...@reader2.news.tin.it...

Una cosa di questo tipo...
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=260
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

 ha scritto nel messaggio 
news:f15b91$8kl$1...@aioe.org...


>> Ho provato pure ad usare la proprietą "Additem" ma senza esito.


 Nel mio caso ho 2 caselle combinate
Beh non sarebbe il problema delle 2 Combo, anche se le hai chiamate
Riepilogo nel 1° messaggio e sono stato ingannato...!
Credo ti convenga  sfruttare 2 Recordset Temporanei in memoria ADO,
riempirli
e poi gestire il DELETE di uno facendo un Find "NomeCampo=" & Me.AltraCombo
ed ADDNEW allo stesso modo...
Dai un'cchiata a questo demo di Giorgio:
http://www.riolab.org/viewrisorsa.asp?id=45
Chiaramente devi riadattarlo alle tue esigenze, ma di certo otterrai
una cosa più pulita...!
L'altra alternativa sarebbe quella di sfruttare la Stringa da passare al
ROWSOURCE
invece dei metodi AddItem e Remove... quindi fai un Replace(Stringa & ";",
vbNullString)
per rimuoverlo e dall'altra parte un RowSource=RowSource & ";" &
StringaRimossa
Saluti


 ha scritto nel messaggio 
news:463626c8$0$10619$4faf...@reader2.news.tin.it...

Prima che i mastini del newsgroup ti azzannino ferocemente (mastini sto 
scherzando, non azzannate me !!!), ricorda che le risposte vanno poste in 
coda al messaggio cui si risponde e non alla testa. Leggi le regole su 
www.sitocomune.com
Tornando al tuo quesito...
Definisci due caselle di riepilogo, entrambe col parametro "Tipo origine 
riga" impostato a "Elenco valori". Inoltre, nel parametro "Origine riga" 
della prima casella scrivi "Pippo";"Pluto";"Paperina" mentre nel 
corrispondete parametro dell'altra casella non metti niente.
A questo punto definisci l'evento "Dopo aggiornamento" della prima casella 
con questa routine:
Private Sub CasellaRiepilogo0_AfterUpdate()
    Select Case CasellaRiepilogo0
        Case "Pippo"
            CasellaRiepilogo1.RowSource = "Paperino"
        Case "Pluto"
            CasellaRiepilogo1.RowSource = "QuiQuoQua"
        Case "Paperina"
            CasellaRiepilogo1.RowSource = "Topolino;Paperino;QuiQuoQua"
        Case Else
            CasellaRiepilogo1.RowSource = ""
    End Select
End Sub
E' tutto...
Ciao
Antonio

Grazie mille Antonio è quello che fa al caso mio.
Saluti a tutto il gruppo
Giorgio