Discussione:
Pulsante di opzione abilita/disabilita
(troppo vecchio per rispondere)
Tony Montana
2007-06-07 17:07:48 UTC
Permalink
Salve a tutti, vorrei inserire nel mio database un pulsante di opzione
che mi permetta di attivare o disabilitare piu caselle di testo
Vorrei in particolare che queste caselle di testo fossero normalmente
disabilitatate e che poi, su clic del pulsante queste di attivassero.
Poi ovviamente, spegnendo il pulsante, queste dovrebbero ritornare
alla condizione di partenza.
Potete aiutarmi a impostare le opzioni o cmq a scrivere una funzione
VBA adatta al mio problema? Grazie
Access
2007-06-07 20:23:57 UTC
Permalink
Ciao Tony Montana,
Post by Tony Montana
Salve a tutti, vorrei inserire nel mio database un pulsante di opzione
che mi permetta di attivare o disabilitare piu caselle di testo
Vorrei in particolare che queste caselle di testo fossero normalmente
disabilitatate e che poi, su clic del pulsante queste di attivassero.
Poi ovviamente, spegnendo il pulsante, queste dovrebbero ritornare
alla condizione di partenza.
Potete aiutarmi a impostare le opzioni o cmq a scrivere una funzione
VBA adatta al mio problema? Grazie
Fai cosi:

private sub TuoPulsante_click()
dim ctl as control

for each ctl in controls
if ctl.controltype = actextBox then
ctl.enabled = not ctl.enabled
end if

next ctl

end sub


Ciao
Access
Tony Montana
2007-06-07 22:29:06 UTC
Permalink
La funzione � perfetta, � esattamente quello che cercavo. Vorrei pero
chiederti ancora una cosa. Se ho capito bene questa funzione agisce su
tutte le caselle di testo che si trovano nella stessa maschera del
pulsante, disabilitandole o abilitandole a comando.
Ma se io volessi specificare il comando solo su determinate caselle di
testo? come si fa?
Per essere piu chiaro ancora, date le caselle A B C, vorrei che la
funzione agisse solo su B e C.
Ti sarei veramente grato se mi aiutassi ancora una volta
CIDI
2007-06-08 12:49:52 UTC
Permalink
"Tony Montana" <***@gmail.com> ha scritto nel messaggio news:***@e65g2000hsc.googlegroups.com...
La funzione è perfetta, è esattamente quello che cercavo. Vorrei pero
chiederti ancora una cosa. Se ho capito bene questa funzione agisce su
tutte le caselle di testo che si trovano nella stessa maschera del
pulsante, disabilitandole o abilitandole a comando.
Ma se io volessi specificare il comando solo su determinate caselle di
testo? come si fa?
Per essere piu chiaro ancora, date le caselle A B C, vorrei che la
funzione agisse solo su B e C.
Ti sarei veramente grato se mi aiutassi ancora una volta

Ciao Tony
metti ABILITA nella proprietà tag dei controlli che vuoi
abilitare/disabilitare.
modifica il codice che ti ha dato Access così:

Dim ctl As Access.Control
For Each ctl In Me.Controls
If ctl.Tag = "ABILITA" Then
If ctl.ControlType = acTextBox Then
ctl.Enabled = Not ctl.Enabled
End If
End If

Next

Set ctl = Nothing

Daniele
Access
2007-06-08 15:13:27 UTC
Permalink
Ciao "Tony Montana"

"Tony Montana" <***@gmail.com> ha scritto nel messaggio news:***@e65g2000hsc.googlegroups.com...
La funzione è perfetta, è esattamente quello che cercavo. Vorrei pero
chiederti ancora una cosa. Se ho capito bene questa funzione agisce su
tutte le caselle di testo che si trovano nella stessa maschera del
pulsante, disabilitandole o abilitandole a comando.
Ma se io volessi specificare il comando solo su determinate caselle di
testo? come si fa?
Per essere piu chiaro ancora, date le caselle A B C, vorrei che la
funzione agisse solo su B e C.
Ti sarei veramente grato se mi aiutassi ancora una volta

Oltre alla soluziona di Daniele si puo' fare anche
aggiungendo un "prefisso" ad esempio X_NomeTuacasella davanti
al nome delle caselle da disabilitare e questo codice:


Dim ctrl As Control
On Error Resume Next
For Each ctrl In Controls

If Left(ctrl.Name, 2) = "X_" Then

If ctl.ControlType = acTextBox Then
ctl.enabled = not ctl.enabled

end if

End If
Next

Ciao
Acess

Loading...