Abilitare/Disabilitare più pulsanti di comando in Access

di il
3 risposte

Abilitare/Disabilitare più pulsanti di comando in Access

Ciao a tutti e grazie in anticipo a chi mi aiuterà.
La mia esigenza è quella di creare una maschera in Access che mi permetta di registrare 4 tipologie di tempistiche in real time per ogni record, ognuno delle quali tramite un pulsante di comando.
Premesso che sono riuscito ad impostare la stessa tramite la funzione "imposta valore", trovo difficoltà ad impostare alcuni vincoli.
Ipotizziamo che i 4 pulsanti per registrare le 4 tempistiche siano chiamati button1, button2, button3 e button4.
Vorrei che la maschera seguisse questo procedimento logico:
1) la sequenza di registrazione delle 4 tempistiche deve rispettare l'ordine dei 4 button (1,2,3,4) quindi, finchè non clicko sul button1 gli altri 3 devo essere disabilitati, quando premo il button1, esso si dovrebbe disabilitare/nascondere e si abilita il button2 e così via dicendo. Nel caso in cui fosse troppo complesso, mi accontenterei anche di seguire questo iter logico: una volta clickato sul button1, esso si disabilita, quando clicko sul button2 si disabilita e così via dicendo.
2) tutti i button disabilitati devono essere ripristinati ogni volta che passo al record successivo.
Spero di essere stato abbastanza chiaro, nel caso ci fosse bisogno di chiarimenti, sono a disposizione.
Grazie,

Mattia

3 Risposte

  • Re: Abilitare/Disabilitare più pulsanti di comando in Access

    Si comprende veramente poco poco di quello che chiedi...!

    Parliamo di Disabilitare... la Visibilità è uguale nel caso...!

    1) PUNTO 1
    La tua Logica è che Detti 4 Controlli di tipo CommandButton, Chiamati cmd1, cmd2, cmd3 e cmd4, tu renda ABILITATO=SI solo il 1°(cmd1) mentre tutti gli altri 3, ABILITATO=NO

    Quindi Su Evento CLICK di cmd1, eseguirai quello che devi, poi attivi il 2° e disabiliti il 1°...
    Esempio:
    
    Private Sub cmd1_Click()
       ' Tuo codice diacquisizione Tempistiche che nemmeno si capisce cosa sia...
       Me!cmd2.Enables=True
       Me!cmd2.SetFocus
       Me!cmd1.Enabled=False
     End Sub
    La sequenza di quelle 3 righe di CODICE è OBBLIGATA, quindi se replichi il tutto per i Pulsanti cmd2, cmd3 adeguando i nomi funziona come hai chiesto.
    Il cmd4 non necessita di nulla essendo l'ultimo.

    2) PUNTO 2
    Poi su Evento Current di Maschera, che si verifica al Cambio Record, non hai detto come gestire in caso di NUOVO RECORD..., resetti tutto...
    Tuttavia non spieghi se è possibile, cambiare RECORD magari mentre sei al 2° passo..., se rispondi NO, spiegaci come lo impedisci...
    Questa considerazione è indispensabile per il Reset, non sapendo quindi come hai gestito il tutto, ipotizzo la situazione più flessibile:
    
    Private Sub Form_Current()
      Me!cmd1.Enables=True
      Me!cmd1.SetFocus
      Me!cmd2.Enabled=False
      Me!cmd3.Enabled=False
      Me!cmd4.Enabled=False
    End Sub
  • Re: Abilitare/Disabilitare più pulsanti di comando in Access

    Ciao Alex e grazie per la risposta.

    Cerco di essere più chiaro.
    Devo trovare un modo di registrare 4 orari clickando su 4 pulsanti, ma l'azione deve essere molto snella, nel senso che vorrei evitare di dover disabilitare a mano il primo pulsante e attivare il secondo e così via.
    Al momento registro i 4 orari clickando su 4 singoli pulsanti che hanno attivata la macro imposta valore e come espressione =time().
    Se possibile, vorrei che dopo aver clickato su ogni singolo pulsante, lo stesso si disabilitasse, per evitare che per errore si clickasse di nuovo sullo stesso, sovrascrivendo l'orario precedente con quello successivo. Se così fosse, avrei dei dati non coerenti perchè i 4 orari devo mantenere un ordine temporale.
    Rispondo anche alla tua domanda: in ogni record devono essere registrati sempre i 4 orari, non è possibile segnarne solo 3 o meno, ma non ho impostato alcun vincolo o blocco a riguardo.
    Dato che di codici ne capisco poco, vorrei sapere se esiste un'altra macro per disabilitare i pulsanti. In caso contrario, dove devo inserire lo script in verde?
    Grazie,

    Mattia
  • Re: Abilitare/Disabilitare più pulsanti di comando in Access

    ElMaty84 ha scritto:


    Ciao Alex e grazie per la risposta.

    Cerco di essere più chiaro.
    Devo trovare un modo di registrare 4 orari clickando su 4 pulsanti, ma l'azione deve essere molto snella, nel senso che vorrei evitare di dover disabilitare a mano il primo pulsante e attivare il secondo e così via.
    Al momento registro i 4 orari clickando su 4 singoli pulsanti che hanno attivata la macro imposta valore e come espressione =time().
    Se possibile, vorrei che dopo aver clickato su ogni singolo pulsante, lo stesso si disabilitasse, per evitare che per errore si clickasse di nuovo sullo stesso, sovrascrivendo l'orario precedente con quello successivo. Se così fosse, avrei dei dati non coerenti perchè i 4 orari devo mantenere un ordine temporale.
    Rispondo anche alla tua domanda: in ogni record devono essere registrati sempre i 4 orari, non è possibile segnarne solo 3 o meno, ma non ho impostato alcun vincolo o blocco a riguardo.
    Quindi è possibile sbagliando... questo è un tuo problema o di chi userà l'applicativo.
    Di solito leinterfacce devono essere a prova di scimmia... ma vedi tu.

    ElMaty84 ha scritto:


    Dato che di codici ne capisco poco, vorrei sapere se esiste un'altra macro per disabilitare i pulsanti. In caso contrario, dove devo inserire lo script in verde?
    Grazie,

    Mattia
    Hai tutto quello che ti serve, ma se di codice capisci poco... credo avrai difficoltà a sostituire la macro che memorizza il tempo, che ovviamente non può esistere in contemporanea al codice che ti ho indicato, che non è bella cosa realizzare con le macro...

    Quindi rifletterai se applicarti alla cmprensione anche minimale per integrare le tue esigenze o se abbandonare.
Devi accedere o registrarti per scrivere nel forum
3 risposte