Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[vba2003]: come gestire una serie di controlli in cascata

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

[vba2003]: come gestire una serie di controlli in cascata

Postdi karug64 » 26/02/13 22:07

Salve a tutti.
MI diletto nella programmazione vba.
Quello che vi richiedo non è una soluzione con codice, piuttosto la soluzione ad un problema logico che non so risolvere.
Mi spiego:
Nel programma che sto realizzando, in un bottone, devo controllare (prima di eseguire delle operazioni) che tutta una serie di condizioni siano rispettate altrimenti il comando "Elabora" non puo' partire.
Quindi controllo 26 condizioni prima di cominciare.

Potrei inerire una variabile per ogni controllo (test1, test2, test3 ... test26) e porre a false o true man mano che eseguo i controlli.
Alla fine poi, pero', mi troverei costretto a dover controllare:
if test = true and test2=true and test3=true ... and test26 = true then test_globale = true

Ma questa soluzione non e' praticabile per la serie di test che mi ritrovo alla fine.

D'altro canto se utilizzo solo una variabile di controllo (es. test_ctrl) succede che se, per esmepio, dal controllo 1 al 10 la variabile è false e il test11 la pone a true, alla fine mi ritrovo il pulsante esegui attivato, quando non dovrebbe esserlo in quanto non tutti e 26 i test sono true.

Di sicuro esiste un metodo logico che permette un controllo multiplo.

Potreste suggerirmi una soluzione ?

Grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: [vba2003]: come gestire una serie di controlli in cascat

Postdi hydra » 27/02/13 11:58

Se basta che un test fallisca per inibire l'operazione e se non devi eseguire i controlli successivi se una determinata operazione fallisce, basta che metti un return.
Codice: Seleziona tutto
if (!condizione1vera) return;
if (!condizione2vera) return;
if (!condizione3vera) return;
...
if (!condizioneNvera) return;


In questo modo quando una qualsiasi delle condizioni non viene verificata esce dal codice del pulsante (o comunque dal metodo in questione).
Avatar utente
hydra
Moderatore
 
Post: 7002
Iscritto il: 19/07/04 08:06
Località: Vallis Duplavis

Postdi archimede » 27/02/13 14:19

karug64 ha scritto:se utilizzo solo una variabile di controllo (es. test_ctrl) succede che se, per esmepio, dal controllo 1 al 10 la variabile è false e il test11 la pone a true...
Se vuoi comunque effettuare tutti i controlli anche se qualcuno fallisce, basta semplicemente non porre mai a true la variabile nei 26 controlli. La metti a true all'inizio della procedura e a false ogni volta che un controllo fallisce.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [vba2003]: come gestire una serie di controlli in cascat

Postdi karug64 » 10/03/13 01:07

ok. Grazie

Scusate il ritardo ....
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22


Torna a Programmazione


Topic correlati a "[vba2003]: come gestire una serie di controlli in cascata":


Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti