Vi è mai successo che misteriosamente delle combo non vi vengano visualizzate?
Cercherò di spiegarvi nel dettaglio il mio problema...
Io ho una serie di array di combo che vengono abilitate (e popolate) e disabilitate (e spopolate) da un checkBox, in una sub del tipo:
I dati selezionati in queste combo vengono poi usati per eseguire delle query (database MySQL) per ricercare i valori che verranni effettivamente salvati in delle variabili globali (array di stringhe).codice:Private sub chkA_click() dim i as integer if chkA = 1 then for i = 0 to comboUno.ubound comboUno.enabled = true popolaCombo next i else for i = 0 to comboUno.ubound comboUno.enabled = false comboUno.clear next i end if end sub ______________________________ private sub popolaCombo() dim rs as adodb.recordset dim i as integer set rs = new adodb.recordset set rs = connessione.execute("Select descr from table") if not rs.eof and not rs.bof then for i = 0 to comboUno.ubound rs.movefirst while not rs.eof comboUno(i).addItem (rs!descr) rs.moveNext wend next i next i rs.close end sub
(queste variabili vengono anch'esse cancellate nel caso si "dechekki" il checkBox che le attiva)
Se scarico il form e poi lo ricarco mi verranno visualizzati i dati che ho inserito in precedenzacodice:Private sub comboUno_change(i as integer) dim rs as adodb.recordset set rs = new adodb.recordset set rs = connessione.Execute("select codice from table where campo = ' & comUno(i).text & "'") if not rs.EOF or not rs.BOF then rs.MoveFirst uno(i) = rs!codice end if rs.close end sub
Il problema è che a questo punto le combo spariscono!!!codice:Private sub caricaPrecedentiComboUno() dim i as integer dim rs as adodb.recordset for i = 0 to comboUno.ubound set rs = new adodb.recordset set rs = connessione.Execute("select descr from table where codice = ' & uno(i) & "'") if not rs.EOF or not rs.BOF then rs.MoveFirst comboUno(i).text = rs!descr end if rs.close next i end sub
(in realtà se clikko dove dovrebbero essere riappaiono, ma senza bordi...)
Qualcuno mi sa spiegare il perché?
Grazie a tutti e buon lavoro!!!

Rispondi quotando