Ciao a tutti.
Oggi mi sono accorto dopo buoni 2 minuti che, nell'eseguire una query, non ottenevo il risultato voluto per un banalissimo motivo: nella fretta non avevo premuto 1 (o più) interruttori in base ai quali costruisco una query mirata.
E quindi mi sono ingegnato per fare in modo che, nel caso, venissi in qualche modo avvisato.
Volevo ricorrere ad una finezza, ciclando fra di essi per verificare se fossero True o False (questi interruttori hanno lo stesso Tag), qualcosa tipo:
Dim Ctrl as Control
For Each Ctrl in Me.Controls
If Ctrl.Tag= "Pippo" Then
Però mi sono fermato lì, in quanto non avrei idea di come dirgli “se TUTTI gli interruttori con il Tag Pippo sono False allora etc etc”, perchè, se non erro, in questo modo lui verifica controllo per controllo e non la loro totalità.
Ad esempio, uso una struttura tipo quella sopra per cambiare il colore del testo negli interruttori attivi, ma in quel caso mi va bene che controlli uno per uno, senza alcun nesso fra di loro.
Nell'immediato (cioè prima di scrivere qui) ho pensato di risolverlo con un If multiplo (anche se forse poco elegante) del tipo:
If me.swt1=false And me.swt2=false And me.swt.....etc etc Then
però così facendo, pur eseendo tutti gli interruttoi False, ignora la condizione, o meglio, per lui la condizione non è verificata (eppure sono tutti False…), e non capisco il perchè.
Anche perchè non è un comportamento standard, nel senso che di solito una condizione IF di questo tipo mi funziona….
A parte il problema specifica attuale (in questo caso gli interruttori sono 5), mi domando: nel caso dovessi fare una verifica (o una qualunque altra operazione) su un numero più cospicuo di interruttori (diciamo una 20ina, giusto per esagerare), come impostare un codice “decente”?
Andrea