Rendere ALMENO una voce di 5 obbligatoria

di il
5 risposte

Rendere ALMENO una voce di 5 obbligatoria

Salve ragazzi,

ho sviluppato un piccolo software in access, devo risolvere un problemino:

Ho 5 campi con la check box SI/NO ed un campo chiamato ALTRO da usare quando nessuna delle caselle si/no si adatta.

Vorrei fare in modo che ALMENO UNO DEI SEI CAMPI SIA RIEMPITO ( o uno dei 5 deve essere un si o il campo ALTRO deve contenere almeno una lettera) come posso farlo?
Grazie

5 Risposte

  • Re: Rendere ALMENO una voce di 5 obbligatoria

    Evento BeforeUpdate di maschera... effettui la valutazione dei dati e sfruttando Cancel parametro dell'evento annulli il salvataggio se non validati.
  • Re: Rendere ALMENO una voce di 5 obbligatoria

    Grazie Alex,
    scusami ma non sono praticissimo.
    Ho già un pulsante con un codice VBA con if etc che va a controllare altri campi che voglio siano riempiti e non sono valorizzati ma li è stato facile perchè sono campi a scelta multipla.
    Qui ho 6 campi, di cui 5 con si no e uno testuale, non so come fare quello che dici tu, non ho idea di dove partire....
    Grazie mille
  • Re: Rendere ALMENO una voce di 5 obbligatoria

    Io non sono capace di gestire BeforeUpdate e Cancel. Ma prova a pensare una If così
    If Me!A+Me!B+Me!C+Me!D+Me!E=0 AND IsNull(Me!Altro)=True Then MsgBox "Hai tutti i campi non validati"
  • Re: Rendere ALMENO una voce di 5 obbligatoria

    Ciao,
    provo a suggerirti la logica di ciò che farei io per verificare che almeno uno dei sei rispetti il criterio da te richiesto.
    Sommi i valori dei 5 checkbox e al risultato sottrai len(valore tex box)... se il risultato è minore di 0 allora la tua condizione è verificata.

    Nota:
    i checkbox possono assumere valore -1 (true o SI) e 0 (false o NO)
    Len(valore) restituisce il numero delle lettere che compone la stringa "valore"

    A presto

    Ps:
    Scusami Osvaldo... proprio non avevo letto... abbiamo scritto praticamente quasi la stessa cosa...
  • Re: Rendere ALMENO una voce di 5 obbligatoria

    OsvaldoLaviosa ha scritto:


    Io non sono capace di gestire BeforeUpdate e Cancel. Ma prova a pensare una If così
    If Me!A+Me!B+Me!C+Me!D+Me!E=0 AND IsNull(Me!Altro)=True Then MsgBox "Hai tutti i campi non validati"
    Proporrei questa versione giusto per rimanere allineato:
    
    If (Me!A+Me!B+Me!C+Me!D+Me!E+Len(Me!Altro & vbNullstring))=0 Then MsgBox "Hai tutti i campi non validati"
Devi accedere o registrarti per scrivere nel forum
5 risposte