Newsgroup: it.comp.appl.access
Titolo: Usare il comando "Enable" per tutti i controlli e sottomaschere di una Maschera principale

Access 2002 / 2003
Ciao a tutto in News.
Volevo chiedere se qualcuno ha un metodo veloce o due righe di codice per 
poter rendere "Enable= True o Enable= False" tutti i controlli di una form 
principale, comprese le sottomaschere della form principale.
Il tutto dovrà rendersi "Enable= True" solamente dopo che sono stati 
inseriti i valori in due campi chiave della form principale.
Esiste un metodo conosciuto o devo scrivere la formula per ogni singolo 
controllo e sottomaschera.
Mille grazie, Bruno

 ha scritto nel messaggio 
news:4960f62b$0$1120$4faf...@reader1.news.tin.it...

Pappa pronta...
devi ciclare su tutti i controlli e impostarli a true o false:
Dim ctr As Control
For Each ctr In Me.Controls
With ctr
If .ControlType = 109 Or .ControlType = 106 Or .ControlType = 111 Then
.Enabled = False ' o True a seconda se abiliti o disabiliti
End With
Next
Ciao, Carlo


--------------------------
Non ci possso credere! Cosa mangiate... pane e Access.
Credimi, sarà pure semplice per te, ma io non ci sarei mai riuscito. Ho in 
mano un manuale di VB e VBA, leggo e rileggo e ogni volta ci capisco "quasi 
nulla".
Faccio delle cose carine per il mio lavoro, ma principalmente con 
espressioni, ecc; ho difficoltà a scrivere codice di sana pianta: non so 
come fate e avete fato voi.
Un chiarimento: i numeri del ControlType, tipo 109 , 106 e 111 dove li trovo 
?
Inoltre, visto che i controlli e sottomaschere sono in una form principale e 
fra questi controlli ci sono due caselle di testo che devono essere Enabled 
= True
perchè a seguito dell'inserimento dei dati devono abilitare tutti gli altri 
controlli. Come posso fare ?
Carlo.... Mille, Mille, Mille grazie per l'aiuto datomi.
Bruno

 ha scritto nel messaggio 
news:496108ec$0$1126$4faf...@reader1.news.tin.it...

============
Ho dimenticato di precisare che è mia intenzione non fare un pulsante per 
applicare il codice, bensì inserirlo su record corrente della form 
principale in modo che tutti i controlli siano sempre Enable=false (anche su 
record nuovo) e diventino Enable=true quando vengono inseriti i valori nelle 
due caselle di testo della form principale, sui quali non dovrà avere 
effetto il codice in questione.
Ciao, Bruno 

 Ciao, Bruno
Ciao Bruno
alternativa al consiglio di Carlo
visto che hai dei controlli che devono rimanere visibili assegna alla 
proprietà Tag di
tutti i controlli XYZ e su corrente:
Dim ctl As Control
For Each ctl In Me.Controls
       If ctl.Tag = "XYZ" Then
            With ctl
                  If (.ControlType = acTextBox Or acComboBox Or acListBox Or 
acLabel) Then
               ctl.Enabled = False
               ctl.Visible = True
               End If
         End With
    End If
Next
e dopo aggiornamento di uno e entrambi i controlli che devono essere 
compilati
metterai lo stesso codice con enabled = true
Daniele 

news:496129f4$0$1115$4faf...@reader1.news.tin,it ...

Io ti consiglio di farti una sub in testa alla Form tipo CambioControlli per poterla richiamare quando vuoi dalla form. In questa routine controlli i campi chiave ed usi il ciclo di CIDI con la proprietà TAG o di Carlo che vanno alla grande x renderli attivi o inattivi. Devi però ricordarti di specificare i campi che devono rimanere attivi per controllare l'inserimento. O usi 
ctl.name
 o anche qui il TAG del campo. Ora, la funzione la richiami su caricamento della maschera per rendere inattivi i vari controlli e poi sull'evento AfterUpdate o OnExit dei campi che ti interessano. C'è un po' di codice da scrivere ma poi hai tutto sotto controllo
-- 
Questo articolo e` stato inviato dal sito web 
http://www.nonsolonews.it

 ha scritto nel messaggio 
news:gjrlah$u51$1...@news.nonsolonews.it...

=====================
Scusate il ritardo nel rispondere; non ho proprio potuto prima.
Non ho ancora avuto il tempo di provare il codice postato ed applicare i 
vostri consigli, sperando di riuscirci.
Per ora vi ringrazio infinitamente per l'aiuto. Vi renderò edotti appena ho 
provato quanto consigliatomi (ora sono un pocchino cotto).
Ciao, Bruno