Evento AfterUpdate su checkbox

di il
3 risposte

Evento AfterUpdate su checkbox

Buongiorno, chiedo scusa non vorrei modificare completamente la struttura del mio database dunque vorrei raggirarlo. Avrei quindi l'esigenza di mettere la spunta su una checkbox di una Form1 attraverso l'evento click di Button di una Form2
So che dovrebbe essere codificato così:
Forms!miamaschera!miocheckbox.Value = 1
Effettivamente la spunta avviene, ma questa checkbox quando è spuntata da me attraverso il click del mouse su essa, va a spuntare altre checkbox. In effetti questa checkbox ha tutta una codifica sull'evento AfterUpdate, che serve proprio a spuntare tutte le altre checkbox presenti nella Form1. Quindi il solo fatto che la checkbox risulta spuntata non basta, bisogna fare in modo che avvenga anche l'evento AfterUpdate.

Grazie.

3 Risposte

  • Re: Evento AfterUpdate su checkbox

    Quando modifichi da codice, non vengono scatenati gli EVENTI, quindi lo devi fare tu da codice.

    Dove si trova il codice che scrivi... in un'altra maschera...? Se no perchè non usi Me!
    Attento che per una CheckBox 1 non va bene... ma [-1] oppure [True]...!


    Quindi
    
    Me!miocheckbox.Value = -1
    Call miocheckbox_AfterUpdate()
  • Re: Evento AfterUpdate su checkbox

    Allora, provo a fare un po' di chiarezza e dare più informazioni:

    in una Form1 ho una checkbox chiamata "chkTUTTI" e tante altre checkbox chiamate "chkSeleziona". L'origine del controllo della checkbox "chkSeleziona" è un campo della tabella "elenco_generale" chiamato "TUTTI" con Tipo dati "SI/NO".

    Al evento AfterUpDate della checkbox "chkTUTTI" c'è il seguente codice:
    Private Sub chkTUTTI_AfterUpDate()
    CurrentDb.Execute "UPDATE elenco_generale SET TUTTI = " & chkTUTTI & " WHERE [e-mail] Is Not Null", dbFailOnError
    End Sub
    Al click su "chkTUTTI" vengono selezionate tutte le checkbox presenti in Form1, fin qui tutto bene.

    Adesso qui nasce il mio problema:

    Io ho un'altra form (Form2) che al suo interno c'è un Command Button il quale al click vorrei che andasse a spuntare tutte le checkbox "chkSeleziona" così come avviene se vado a cliccare sulla checkbox "chkTUTTO".

    Ho provato a mettere all'interno dell'evento Click del Command Button direttamente:
    CurrentDb.Execute "UPDATE elenco_generale SET TUTTI = " & chkTUTTI & " WHERE [e-mail] Is Not Null", dbFailOnError
    
    ma da errore 2467: 'l'oggetto a cui si fa riferimento nell'espressione è stato chiuso o eliminato'
    e si blocca proprio su questo rigo di codice.
  • Re: Evento AfterUpdate su checkbox

    alexps81 ha scritto:


    ...
    Io ho un'altra form (Form2) che al suo interno c'è un Command Button il quale al click vorrei che andasse a spuntare tutte le checkbox "chkSeleziona" così come avviene se vado a cliccare sulla checkbox "chkTUTTO".

    Ho provato a mettere all'interno dell'evento Click del Command Button direttamente:
    CurrentDb.Execute "UPDATE elenco_generale SET TUTTI = " & chkTUTTI & " WHERE [e-mail] Is Not Null", dbFailOnError
    
    ma da errore 2467: 'l'oggetto a cui si fa riferimento nell'espressione è stato chiuso o eliminato'
    e si blocca proprio su questo rigo di codice.
    Occhio che non ho esaminato l'intero thread, quindi tutto quello che ti è stato detto finora tienilo comunque ben presente. Quest'ultimo errore credo sia da ricercare nell'uso del controllo chkTUTTI che per la Form2 è un emerito sconosciuto. Se indichi il controllo, invece, con il "percorso completo" dovrebbe andare.
    CurrentDb.Execute "UPDATE elenco_generale SET TUTTI = " & Forms!Form1!chkTUTTI & " WHERE [e-mail] Is Not Null", dbFailOnError
    
    Ovviamente anche Form1 deve essere aperta nel momento in cui fai click sul Command Button della Form2.
Devi accedere o registrarti per scrivere nel forum
3 risposte