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

Salve a tutti.
Altro banale dilemma che non riesco a risolvere.
Vorrei tramite VBA collegare all'evento "Su apertura" di una maschera, una
procedura che disabiliti tutti i controlli della maschera stessa. Tutti i
controlli devono poi essere abilitati alla pressione del tasto "Nuovo
Record". Devono rimanere attivi solo i tasti di navigazione tra i record.
Mi servirebbe vedere il codice esatto che va inserito nella procedura.
Vediamo se riesco a capire come funzionano i comandi. Mi trovo in effetti un
pň spiazzato arrivando dal VBA per excel.
Grazie a tutti
Stefano

 ha scritto nel messaggio 
news:44abddbd$0$16939$4faf...@reader4.news.tin.it...

Beh se arrivi da VBA per excel la scrittua del codice non č poi tanto 
diversa...
Non capisco poi la necessitŕ di tale manovra, ti converrebbe allora aprire 
la maschera direttamente in formato acEdit ed eventualmente in altro caso 
usarla come maschera di sola lettura (snapshot) in questo modo eviteresti 
routine lunghe e dispendiose...
Ciao
Roberto 

 Stefano
Se fai un ciclo che blocca ogni controllo sulla maschera ti verà bloccato anche il bottone "Nuovo record"; devi "marcare" i 
controlli da bloccare.
Lo fai utilizzando la proprietà Tag del controllo; ci inserisci una parola qualsiasi, uguale per tutti (es. daBloccare), poi fai il 
ciclo leggendo la proprietà e comportandoti di conseguenza. Certo potresti anche fare il contrario (es. daNonBloccare).
es.
'---
dim oCtrl as Control
for each oCtrl in Me.Controls
    if oCtrl.Tag = "daBloccare" then
        oCtrl.Locked = true
    end if
next
set oCtrl = nothing
'---
Ciao.
-- 
Sergio MAZZA 

 Stefano
A quanto ha suggerito Sergio faccio 2 aggiunte:
1) Ricordati di spostare il Focus prima di lanciare la routine su un
controllo che non
    va bloccato altrimenti devi inserire la gestione errori, ma in ogni
caso il Controllo con il focus non verrà bloccato.
2)Prova a dare un'occhiata a questo demo, è avanzato, ma fà quello
che chiedi
anche sulle subForm.
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=155
Ciao
@Alex

 Stefano
A quanto ha suggerito Sergio faccio 2 aggiunte:
1) Ricordati di spostare il Focus prima di lanciare la routine su un
controllo che non
    va bloccato altrimenti devi inserire la gestione errori, ma in ogni
caso il Controllo con il focus non verrŕ bloccato.
2)Prova a dare un'occhiata a questo demo, č avanzato, ma fŕ quello
che chiedi
anche sulle subForm.
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=155
Ciao
@Alex
Domanda....ma se i controlli sono molti č conveniente come soluzione?
Ciao
Roberto 

 Roberto
Ciao
@Alex

 Roberto
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio
news:e8ia20$2ht$1...@area.cu.mi.it...

Grazie a tutti.
Penso che la soluzione sia quella di aprire il form in acEdit.
Comunque mi trovo spiazzato perchè ci sono tante parentesi quadre e punti
esclamativi. Ma ho scaricato la traduzione della guida di Access della quale
ho trovato il link su questo NG e devo dire che comincio a capirci qualcosa.
Qualcosina...datemi tempo! Scherzo
Comunque ancora grazie per la disponibilità e la pazienza.
Stefano

 ha scritto nel messaggio 
news:44ad1112$0$3122$4faf...@reader1.news.tin.it...

Beh...pensavo che visto che non dovevano essere fatte particolari operazioni 
si potesse pensare di aprire in un caso
la maschera come snapshot o nell'altro in acEdit...
Indubbiamente è corretta l'osservazione che mi hai fatto e ne prendo atto e 
assimilo!!...grazie
Roberto