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
> Ciao a tutti,
> 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
> 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.
grazie, far� cos�
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