Newsgroup: it.comp.appl.access
Titolo: Disabilitare modifiche controllo

Ciao a tutti,
speriamo di farcela prima di sera!
Vorrei disabilitare, all'apertura della MiaMaschera, tutti i controlli che 
hanno come smart tag X
Poi a fronte dell'evento click del MioPulsante (nella MiaMaschera) dovrei 
riabilitarli alla scrittura/Modifica
Ciao
Napoleone 

 ha scritto nel messaggio
news:oD0me.31335$795.9...@twister1.libero.it...

Questa cosa č stata trattata quasi come il FAQQONE dell'eseguibile
quindi ti sarebbe bastato cercare....!!!
Chiamala cosě:
DISABILITA
Call SetControlState(me,False,"X")
ABILITA
Call SetControlState(me,True,"X")
'------------------- DA INSERIRE IN UN
MODULO ----------------------------------
Public Function SetControlState(frm as Access.Form, State as Boolean,
TagValue as String) as boolean
    On Error Goro Err_ControlState
    Dim ctl as Access.Control
    For Each ctl in frm.Controls
        If ctl.Tag=TagValue then ctl.Enalbled=state
    Next
    SetControlState=true
    Exit Function
Err_ControlState:
    SetControlState=False
    msgbox Err.Number & " " & err.Description
End Function
Saluti
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 ha scritto nel messaggio 
news:d7a5s6$fvv$1...@domitilla.aioe.org...

Ciao Alex,
complimenti per le "pochissime visite" ricevute al sito  -> 23251 ;-) 

 ha scritto nel messaggio 
news:d7a5s6$fvv$1...@domitilla.aioe.org...

Ciao Alex
il pallino di provare quanto sto facendo, mi č venuto perchč ho letto sul 
NG, dei vecchi post (da te trattati) a riguardo.
In ogni modo mi segnala
ERRORE DI COMPILAZIONE
Previsto identificatore
Ciao
Napoleone 

 complimenti per le "pochissime visite" ricevute al sito  -> 23251 ;-)
Ti ringrazio.


 Napoleone
Funziona, solo se guardavi la sintassi ho commesso 2 errori di digitazione
avendola scritta a braccio....!
1)    "On Error Goro"----> Goto
2)    "Enalbled"---->Enabled
Te la ripasso corretta e provata:
Public Function SetControlState(frm As Access.Form, State As Boolean,
TagValue As String) As Boolean
    On Error GoTo Err_ControlState
    Dim ctl As Access.Control
    For Each ctl In frm.Controls
        If ctl.TAG = TagValue Then ctl.Enabled = State
    Next
    SetControlState = True
    Exit Function
Err_ControlState:
    SetControlState = False
    MsgBox err.Number & " " & err.Description
End Function
Ciao


 Napoleone
L'errore è risolto, le prime due righe di codice, andavano su una riga,
e poi  Goro Err_ControlState in GoTo.....
Ma non succede Nulla.
Il modulo l'ho chiamato: SetControlState()
Ho creato due pulsanti:
abilita che chiama con l'evento click Call SetControlState(me,True,"X")
disabilita che chiama con l'evento click Call SetControlState(me,False,"X")
Per cui non saprei cos'altro fare.
Napoleone 

 Napoleone
Si mi ero accorto....! ;-)
Perchè 2 Pulsanti...???
Ono basta ed Avanza.
Le possibilità sono 2:
Invece di usare un CommandButton usa un'interruttore
e su After Update passi lo stato dell'interruttore come Stato,
questa è quella più pulita.
Altrimenti(io uso questa per rendere possibile tramite SubHyperlinkAddress
la manina):
Private Sub NomePulsante_Click
    Static blState as Boolean
    If SetControlState(me, blState ,"X")=true then blState =not blState
End sub
Ciao


 ha scritto nel messaggio 
news:d7a741$io8$1...@domitilla.aioe.org...

Uno lo avevo beccato, il secondo no.
Purtroppo te lo debbo dire, avrei preferito di no!
Non succede nulla, e nemmeno mi segnala errori.
Ciao
Napoleone 

 ha scritto nel messaggio 
news:d7a7ju$k38$1...@domitilla.aioe.org...

ho creato un nuovo inerruttore ed ho fatto cosi
-------------
Private Sub Interruttore114_Click()
 Static blState As Boolean
    If SetControlState(Me, blState, "X") = True Then blState = Not blState
End Sub
---------------
Ma il destino vuole che.... NULLA.
Ciao
Napoleone 

 la manina):
io purtroppo manina non'e vedo e mi dispiace!
Ciao
Napoleone 

 Napoleone
Piano frena, mi sono accorto che ti ho dato troppe informazioni
e ti manca un pò di retroscena....!
Se usi l'interruttore quella sintassi non è corretta, dovevi leggere meglio
la mia Mail...!!!!!!
Quella Routine funziona bene per un CommandButton, nel quale se inserisci
uno spazio nella proprietà SubHyperlinkAddres apparirà la manina.
L'interruttore non offre la possibilità della manina, ma è estremamente
comodo
se non ti frega nulla:
Private Sub Interruttore114_AfterUpdate()
    Call SetControlState(Me, cBool(Me!Interruttore114), "X")
End Sub
Ciao
-- 
@Alex (Alessandro Baraldi)


 Napoleone
Impossibile l'ho provato da me e tutto OK, hai sicuramente
commesso un'inesattezza.
Ciao
-- 
@Alex (Alessandro Baraldi)


 @Alex (Alessandro Baraldi)
Ciao
Napoleone 

 @Alex (Alessandro Baraldi)
In questo caso sarebbe colpa del copia/incolla.
Napoleone 

 Napoleone
Guarda la Funzione se la metti in un Modulo è perfetta, io
stò riprovandola ora così:
Private Sub Interruttore4_AfterUpdate()
   SetControlState Me, Not (Me.Interruttore4), "X"
End Sub
Ti assicuro che funziona bene, il Not serve solo per
definire lo stato Attivo da passare.
Non saprei cosa suggerirti,  aparte una candela.....
Ciao
-- 
@Alex (Alessandro Baraldi)


 SI che mi frega, ma possibile che non ricevo?
Ciao Napolenone,
mi permetto di farti il notare che "se non ti frega nulla" di Alessandro era 
riferito al fatto che passando con il puntatore sull'interruttore non si 
vede la manina (come quando utilizzi i link di internet insomma...) non al 
fatto di aiutarti

 ha scritto nel messaggio
news:h%1me.1457166$35.54...@news4.tin.it...

Beh si in effetti mi sono accorto solo ora rileggendo che mi ha frainteso.
Hai fatto bene a precisare.


 @Alex (Alessandro Baraldi)
Preciso: Mi frega della manina, ma per me ci vuole una mano, anzi due!
Scusami Alex, non riesco a venirne fuori, se vuoi ne parliamo lunedi e 
magari ti invio uno .Zip
Non va in ogni modo!
Napoleone

 ha scritto nel messaggio 
news:h%1me.1457166$35.54...@news4.tin.it...

Ma figurati, dopo tutti gli aiuti avuti da Alex, potrebbe anche dirlo!
Ciao
Napoleone 

 ha scritto nel messaggio 
news:T42me.122653$IN.20...@twister2.libero.it...

A volte nella fretta di scrivere e leggere puň nascere qualche piccolo 
"disguido"...tutto qua...anche perchč, come sottolinei appunti tu stesso 
(neanche sapevo peraltro conoscessi Alessandro...) Alessandro č sempre 
"molto disponibile e generoso di codice" verso gli altri...
Buona giornata
Gaspare 

 Gaspare
Ma dimmi, tu hai utilizzato il modulo per blocco/sblocco dei controlli con 
Smart tag contrassegnati da X?
Ciao
Napoleone 


No...mai utilizzato! Cmq se Alessandro ha testato  il codice (che peraltro è 
abbastanza chiaro e leggibile...) penso che il tutto si possa risolvere nel 
porre una maggiore attenzione nell'utilizzo dello stesso...perchè non 
riprovi pian piano rileggendo le varie risposte? Magari dimentichi 
qualcosa...perchè non ci riprovi? Eventualmente se posso darti una mano sono 
qua...

[CUT]
sinceramente mi sono permesso di intervenite solo ed esclusivamente pensando 
che non vi conosceste e che quindi magari potessivo 
"frainterdervi"....altrimenti non mi sarei permesso assolutamente :-)
Gaspare 

 ha scritto nel messaggio 
news:w23me.1457363$35.54...@news4.tin.it...

Qua dove, se sei in zona, ci facciamo una birra!
Ciao
Napoleone 

 ha scritto nel messaggio 
news:G53me.1457372$35.54...@news4.tin.it...

Stai tranquillo!
Buona domenica
Napoleone 

 ha scritto nel messaggio 
news:Rs3me.31752$795.9...@twister1.libero.it...

Qua intendevo su Internet...non sò tu ma io sono ad Udine...
A proposito perchè non provi ad inserire questo codice all'interno di un 
pulsante?
  Dim ctl As Control
    For Each ctl In Me.Controls
        If ctl.Tag = "X" Then ctl.Enabled = True
    Next
Grazie per la birra :-) ...come se avessi accettato 

 Grazie per la birra :-) ...come se avessi accettato
Calabria>Sibaritide
Buona serata
Napoleone 

 ha scritto nel messaggio 
news:QA3me.31765$795.9...@twister1.libero.it...

Ok...buona domenica  a te e famiglia :-) 


Ciao Napoleone,
se hai proprio "fretta-fretta"-> (molta fretta insomma)  puoi "agire in 
maniera molto artigianale" (non di certo nella maniera migliore ed "piů 
elegante" come quella proposta da Alessandro...) e cioč  disabiliti e 
abiliti tutti i controlli del form (uno x uno...quelli che a te interessando 
con smart tag X ) leggendone il nome...non sň all'apertura del form o dietro 
il click di un pulsante...ti metti con 1 pň di pazienza e scrivi:
Me.txtTextBox1.Enabled=False
Me.txtTextBox2.Enabled=False
...............
Me.NomeUltimoControllo.Enabled=False
ed ovviamente al contrario
Penso che dovrebbe funzionare -> se fosse al contrario non "imprecare" 
contro di me ;-)
Buona Domenica
Gaspare 

> che hanno come smart tag X
Ciao Napoleone,
forse ho capito quello che hai combinato -> certo che non va il codice di 
Alex...non verrà mai verificata quell'unica condizione posta in quel codice!
Siccome leggo "smart tag" X probabilmente hai fatto un tantino di confusione 
e sei andato a smanettare dove non dovevi e cioè proprio nella proprietà 
"smart tag" dei controlli (l'ultima in ordine di posizione...) e lì hai 
inserito una bella X...vero?
Se leggi bene
 Dim ctl As Control
    For Each ctl In Me.Controls
        If ctl.Tag = "X" Then ctl.Enabled = True
    Next
viene richiamata la proprietà "Tag" ed infatti è quella che devi settare -> 
inserisci la x nella proprietà "Tag" -> non in "Smart tag"...non farti 
ingannare dai nomi ;-)
A questo punto non utilizzare la mia "scorciatoia rudimentale" (che solo a 
leggerla mi fa venire la nausea...) ma "armati di buona volontà" e "con 
calma" riconsidera il codice che con "molta pazienza" ti ha postato 
Alessandro ...-> giacchè vi conoscete mi permetto di "esprimermi" in questo 
modo :-)
Buona domenica
Gaspare



 ha scritto nel messaggio 
news:deime.1459023$35.54...@news4.tin.it...

Ciao Gaspare,
la notte porta consigli ed al mattino arrivano le soluzioni.
Risolto!!! Per fortuna che te ne sei accorto, ho provato riprovato il codice 
di Alex ma neiente.
Dicevo possibile? ed invece l'errore c'era: Smart tag al posto di tag.
Ti ringrazio per l'attenta osservazione.
Napoleone 

 ha scritto nel messaggio 
news:c9jme.32468$795.1...@twister1.libero.it...

Di nulla...buona giornata 


Il codice per l'abilitazione/disabilitazione lo ha postato Alessandro... io 
ho solo fatto 11 considerazione :-) 

 ha scritto nel messaggio 
news:Arjme.1459319$35.54...@news4.tin.it...

Un GRANDE Grazie và ad ALex, ma debbo riconoscore anche la tua parte!
Ciao
Napoleone 

 Napoleone
Ok...va bene...buona giornata :-) 

 ha scritto nel messaggio
news:HNjme.1459376$35.54...@news4.tin.it...

;-)
Vedi che succede a non usare i termini corretti...!!
Buona domenica.


 @Alex (Alessandro Baraldi)
Ciao Alex,
Volevo giusto ringraziarti, per l'aiuto che (come sempre) dai.
Questa opzione di blocco/sblocco dei controlli in una forma la vedo 
necessaria, nelle form, adesso mi sento di aver superato un grande scoglio.
Mi rimane però la curiosità della manina al passaggio del mouse, di cui si 
diceva ieri.
Ciao
Napoleone 

 ha scritto nel messaggio 
news:d7civ2$d1r$1...@domitilla.aioe.org...

Adesso ti ci metti anche tu Alex? ;-)  Lo senti un "tantino"di caldo o è 
solo 1 mia impressione? 

 ha scritto nel messaggio 
news:Ydkme.123535$IN.21...@twister2.libero.it...

Se vai sulla proprietà del pulsante c'è ne una che dice "ind. collegamento 
ipertestuale"... ti posizioni dentro ed inserisci uno spazio con la barra 
spaziatrice e quindi invio.
Appena visualizzerai la maschera comparirà la manina ;-) 

 solo 1 mia impressione?
E' uscita anche la manina.
Ciao 

 solo 1 mia impressione?
Ho acceso oggi per la prima volta quest'anno l'aria condizionata.
Quì il tasso d'umidità è prossimo a quello per la crescita delle
branchie...!
Ciao


 Napoleone
E' stato un PARTO quasi....!
Se usi l'interruttore non puoi a meno di usare le API, ma nonostante
sia un cultore non è una soluzione che mi piace.
Se invece hai usato un CommandButton con la variabile STATIC
allora metti uno Spazio nella proprietò del Controllo SubHyperLinkAddress
ma te lo avevo già spiegato.....!!!!!!!!!!!!!!
Ciao


 branchie...!
Speriamo che non sia come quell'estate maledetta dei 40 gradi...altrimenti 
c'è da spostarsi nelle zone di montagna...altro che mare! 

 @Alex (Alessandro Baraldi)
Napoleone 

 ha scritto nel messaggio 
news:iDkme.1459521$35.54...@news4.tin.it...

Quest'anno sarà la peggiore estate (calda) che si sia mai avuta dal 1880!
Compratevi un climatizzatore di riserva.
Napoleone