Newsgroup: it.comp.appl.access
Titolo: Modifica di una form via VBA

Ciao a tutti,
Ho un db access che viene distribuito a diversi utenti.
All'interno di una form c'� un controllo (combobox) che deve essere 
visibile soltanto ad alcuni utenti. Altri invece non la devono vedere.
Anzich� creare due versioni del db (sarebbero state pi� di due perch� in 
realt� il problema si ripete con altre maschere e controlli), ho pensato 
di scrivere una procedura VBA che:
Apre la form
setta la propriet� Visible del combobox a False.
chiude la form
Il risultato � che la propriet� viene modificata, ma alla chiusura della 
form questa modifica viene persa e la combobox � ancora ben visibile.
Esiste un modo per salvare le modifiche a una form effettuate via VBA?
Grazie


No, ma perch� vuoi farlo?
Di solito si legge l'utente (di Access, di Windows o di un proprio
sistema con tabelle ecc.) nel evento Open o Load della maschera
e imposta la propriet� Visibile dei controlli.
Certo si puo anche leggere l'utente una sola volta all'avvio del db,
scriverlo p.e. in una casella di testo nella maschera principale e
poi leggerlo da qui. Ma la visibilit� si imposta sempre di nuovo
OnOpen o OnLoad delle maschere e report.
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 Grazie
non si fa come hai previsto tu...
si fa piuttosto cos� : 
if CurrentUser = "PIPPO" then :tuoncontrollo.visible=false
if CurrentUser = "PLUTO" then :tuoncontrollo.visible=true
-- 
Ciao
Pablitomf
----------------------------
http://www.accessgroup.it/
----------------------------
Non mi fido molto delle statistiche, perch� un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 e imposta la propriet� Visibile dei controlli.
grazie, far� cos�

 No, ma perché vuoi farlo? ...
Scusate se m'intrometto; le soluzioni prospettate sono senz'altro le
migliori, ma io uso un modo per salvare le modifiche a una form, per
esempio:
   DoCmd.OpenForm stDocName, acDesign
   If Forms!stato!livello = "A" Then
       Forms(stDocName).PopUp = False
       Forms(stDocName).Modal = False
       Forms(stDocName).AutoCenter = False
   Else
       Forms(stDocName).PopUp = True
       Forms(stDocName).Modal = True
       Forms(stDocName).AutoCenter = True
   End If
   DoCmd.Close acForm, stDocName, acSaveYes
   DoCmd.OpenForm stDocName, acNormal
cosa che faccio in un'applicazione affinché la maschera si presenti
diversamente a seconda del valore trovato in una casella di testo.
Altrove, faccio il seguente:
    DoCmd.OpenForm "maschera1", acDesign
    Forms!maschera1!Testo63.DefaultValue = pos.Top
    Forms!maschera1!Testo64.DefaultValue = pos.Left
    Forms!maschera1!Testo56.DefaultValue = u
    Forms!maschera1!Casella46.BackColor = sfondo
    Forms!maschera1!Casella47.BackColor = sfondo
    Forms!maschera1!Testo61.DefaultValue = q
    Forms!maschera1!o1.BackColor = scheda
    Forms!maschera1!o2.BackColor = scheda
    Forms!maschera1!m1.BackColor = scheda
    Forms!maschera1!m2.BackColor = scheda
    Forms!maschera1!s1.BackColor = scheda
    Forms!maschera1!s2.BackColor = scheda
    Forms!maschera1!Testo62.DefaultValue = s
    Forms!maschera1!o1.ForeColor = cifre
    Forms!maschera1!o2.ForeColor = cifre
    Forms!maschera1!m1.ForeColor = cifre
    Forms!maschera1!m2.ForeColor = cifre
    Forms!maschera1!s1.ForeColor = cifre
    Forms!maschera1!s2.ForeColor = cifre
    DoCmd.Close acForm, "maschera1", acSaveYes
per memorizzare sia i colori della maschera, scelti dall'utente, che
la posizione in modo che si riapra nel punto in cui era stata
spostata.
Sono gli arzigogoli di un praticone, e magari mi potete commentare
qualcosa.
Grazie per l'attenzione e scusate ancora.
Riccardo Baldinotti

 qualcosa.
Bel modo per degradare il FE
--
ac