Attivare pulsante su opzione checkbox

Anonimo
2016-12-26T10:49:23+00:00

Buongiorno ragazzi e bune feste.

ho un piccolo problema con il mio database...

in pratica devo attivare un pulsante (Comando105) quando viene selezionato la mia casella di controllo (evaso-spunta si/no)

ho cercato su vari siti ma non riesco ad adattare nessun codice

mille grazie anticipatamente per l'aiuto.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2016-12-26T12:29:18+00:00

ciao Fauly,

vbchecked and vbunchecked non sono constanti VBA ma VB6 :

https://msdn.microsoft.com/en-us/library/zaht19xt%28v=vs.90%29.aspx?f=255&MSPPError=-2147217396

con vba il valore spuntato o vero corrisponde a -1 e il non spuntato o falso a 0 ( zero )

avresti potuto quindi optare per :

Private Sub chkEnabled_Click()

If Me.chkEnabled Then

    Me.cmdEnabled.Enabled = True

Else

    Me.cmdEnabled.Enabled = False

End If

End Sub

oppure per :

Private Sub chkEnabled_Click()

If Me.chkEnabled Then

    Me.cmdEnabled.Enabled = Not Me.cmdEnabled.Enabled

Else

    Me.cmdEnabled.Enabled = Not Me.cmdEnabled.Enabled

End If

End Sub

capirai però che eseguire la stessa cosa con una sola istruzione :

Private Sub chkEnabled_Click()

Me.cmdEnabled.Enabled = Me.chkEnabled

End Sub

E' molto più veloce in termini di performance. Chiaro che non ti accorgi della differenza perché l'esecuzione è rapidissima, ma una istruzione è meglio di cinque.

Sostanzialmente con la soluzione proposta modifichi la proprietà Enabled, booleana, equiparandola al valore della checkBox, rendendo il controllo abilitato o disabilitato a seconda del valore stesso.

Nel tuo codice mostri la proprietà visibile che mostra o nasconde il controllo il concetto è lo stesso, ma le proprietà sono diverse.

Ciao, Sandro.

ps. contrassegna la/le risposte che più ti hanno aiutato in questo 3d, aiuterai altri utenti che come te dovessero incappare in difficoltà analoghe a questa.

Grazie :-).

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2016-12-26T11:55:33+00:00

    in effetti....ora è perfetto.

    ...solo per info...

    mi potresti spiegare perchè il codice che avevo postato prima non andava???

    cmq mille grazie e ancora auguri a tutti

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-12-26T11:45:02+00:00

    ciao Fauly,

    credo che il problema sia il nome dei controlli, prova come segue.

    Private Sub EVASO_AfterUpdate()

    Me.Comando105.Enabled = Me.EVASO

    End Sub

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-12-26T11:34:17+00:00

    ciao Sandro e grazie per la tua disponibilità

    ho modificato il tuo codice in:

    Private Sub EVASO_AfterUpdate()

    Me.cmdEnabled.Enabled = Me.chkEnabled

    End Sub

    ma va in debug su Me.chkEbnabled....sicuramente devo modificarlo ma non saprei come???

    avevo provato anche questo ma non funziona

    Private Sub EVASO_AfterUpdate()

    If EVASO.Value = vbChecked Then

    Comando105.Visible = True

    Else

    Comando105.Visible = False

    End If

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2016-12-26T11:18:07+00:00

    ciao Fauly,

    supponendo che il valore predefinito della checkbox sia 0 ( zero, non spuntata)  e che il suo nome sia  chkEnabled e che il commandbutton sia inabilitato ( abilitato = no) e si chiami cmdEnabled ( modifica sempre il nome dei controlli di forms e report, comando105 non vuole dire nulla) , dopo aggiornamento della tua checkBox invoca :

    Private Sub chkEnabled_AfterUpdate()

    Me.cmdEnabled.Enabled = Me.chkEnabled

    End Sub

    [...]

    Buongiorno ragazzi e bune feste.

    [...]

    buone feste anche a te.

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento