Newsgroup: it.comp.appl.access
Titolo: Bloccare i campi

Ciao a tutti,
ho un quesito banale da porvi:
come faccio a bloccare i campi di una maschera
se un determinato campo (es: blocca si/no) viene evidenziato?
In altre parole vorrei che nessuno per errore variasse
i dati inseriti .
Grazie a tutti, Maurizio.

 ha scritto nel messaggio
news:FmCR8.81683$5i1.3...@news2.tin.it...

prova impostare nella maschera Abilità su no e Blocca su Si
Ciao

 ha scritto nel messaggio
news:FmCR8.81683$5i1.3...@news2.tin.it...


 ha scritto nel messaggio
news:FmCR8.81683$5i1.3...@news2.tin.it...

In una maschera ci sono i controlli e non i campi che invece sono contenuti
nelle tabelle e nelle queries.
Se la casella di controllo si chiama Blocca.
Sia a fronte dell'evento "Dopo aggiornamento" di Blocca che a fronte
dell'evento "Su corrente" della maschera prova a generare il seguente codice
VBA:
Me.AllowEdits = Not Me!Blocca
Me.AllowDeletions = Not Me!Blocca
Me.AllowAdditions = Not Me!Blocca
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:FmCR8.81683$5i1.3...@news2.tin.it...

Devi - a mio avviso - lavorare con un po' di codice...
A fronte dell'evento 'Su corrente' della maschera scriverai
Private Sub Form_Current()
    BloccaSbloccaControlli
End Sub
Nello stesso modulo di codice inserirai anche:
Private Sub BloccaSbloccaControlli()
    If Me.blocca Then
            Me.Casella1.Enabled = False
            Me.Casella2.Enabled = False
            ...
        Else
            Me.Casella1.Enabled = True
            Me.Casella2.Enabled = True
            ...
    End If
End Sub
Ovviamente invece di Casella1, Casella2 eccetera metterai i nomi di vari
controlli che vuoi bloccare sbloccare.
Se la casella di controllo 'blocca' può essere modificata anche tramite la
maschera, dovrai inserire una chiamata alla routine BloccaSbloccaControlli
anche a fronte dell'evento 'Su aggiornamento' della casella di testo
'blocca'
Public Sub blocca_AfterUpdate()
    BloccaSbloccaControlli
End Sub
Se vuoi evitare di scrivere i nomi di tutti i controlli da
bloccare-sbloccare prova a cercare sulla guida in linea 'Insieme controls':
c'è un bell'esempio di come puoi risolvere il problema.
Ciao
--
Alberto

 ha scritto nel messaggio
news:FmCR8.81683$5i1.3...@news2.tin.it...

Puoi provare anche così....
crei una variabile nella form che chiameremo var_app e le dai con valore
predefinito 0 e non consenti la visualizzazione...
poi crei 3 macro:
1-   abilita - che imposterà il campo-bottone come Enable=1 e la var_app=1
(parto dal presupposto che il bottone di default sia bloccato)
2-   blocca - che imposterà il campo-bottone come Enable=0  e la var_app=0
3- cmd - il quale avrà condizione : [nome maschera].[var_app]=1 - esegui
macro - blocca
               e condizione : [nome maschera].[var_app]=0 - esegui macro -
abilita
in seguito crei la check box e nelle propietà di essa setti "evento su
click" esegui "cmd"
Saluti Galvy

 ha scritto nel messaggio
news:FmCR8.81683$5i1.3...@news2.tin.it...

Su evento Corrente del Flag(Blocca si/no) e su evento Dopo aggiornamento
potresti
eseguire un FOR EACH Ctl in Me.Controls e all'interno del ciclo inserire
quello che ti hanno suggerito in precedenza solo se il Ctl.Type=acTextBox.
Questo ti permette di Bloccarli tutti e in un solo CICLO.
Se per caso hai alcuni Controlli che non devi Bloccare inserisci un TAG e
controllane il valore.
Alessandro.