Newsgroup: it.comp.appl.access
Titolo: nascondere colonna via vba su sottomaschera foglio dati

ciao a tutti
ho sempre usato questa istruzione per nascondere una colonna di un 
foglio dati da vba
 
Me.MiaSubform.Form.MioCampo.visible= false
Me.MiaSubform.Form.MioCampo.ColumnHidden = True
 
che funziona alla perfezione
solo che...
ho scoperto che facendo doppio click tra le due colonne attigue, con il 
cursore del mouse che diventa una linea verticale, la colonna 
magicamente appare.
qualche idea per renderla sempre invisibile da vba?
 
ciao
BFS

>>>>  
http://www.bb2002.it
 :)  <<<<<
........... [ al lavoro ] ...........


Oddio, 
un modo sicuro al 100% ci sarebbe ma e' molto complesso e non so se 
vale la pena anche solo a pensarci :-) 
 
Dovresti ... ehm ... subclassare la maschera :  ossia  praticamente 
devi fare in modo che  i  messaggi  dell'  SO  invece  di  arrivare 
direttamente alla funzione della maschera  li  intercetti  con  una 
funzione tua. Quando arriva il doppio click NON lo redirezioni alla 
window function della maschera originale.  Tutti gli altri messaggi
invece li mandi tali e quali alla window function.
 
E  cosi'  access  non  viene a sapere che l' utente ha fatto doppio 
click. E lo freghi :-)  
 
Subclassare una maschera non e' difficilissimo, solo che in questo 
caso bisognerebbe sapere un  sacco  di  cosette  "a latere" che mi
sfuggono : 
 
- qual' e' la codifica del messaggio doppio click ? Boh. 
- come si fa a sapere se il doppio click l' utente l' ha fatto tra 
  una colonna e l' altra ? 
 
... e qualche altra cosa. 
 
Di  sicuro pero' il subclassamento e' una tecnica potentissima che 
(a  conoscere a fondo il sistema operativo) ti consente davvero di 
rigirarti il sistema come fosse un calzino. 
 
Ciao


troppo sbattimento per dover semplicemente nascondere una casella.
risolto togliendo il l'origine del controllo dalla maschera quando 
l'utente che accede fa parte del gruppo che non lo deve vedere
 
ciao
BFS
 
 

 l'utente che accede fa parte del gruppo che non lo deve vedere
 
Ok, ma : 
cos' e' l' "origine del controllo" ? :-) 
 
Ossia : che hai fatto ? 
 


classica situazione in cui l'utente di tipo amministratore deve vedere 
degli importi
mentre l'utente normale non li deve vedere.
ora quando carico la maschera imposto da codice due diverse origini 
dati...una con i campi importi e uno senza
cosi anche se l'utente normale va a smanettare per scoprire le colonne 
nascoste ci trova #nome al posto del valore.
Sinceramente ero all'oscuro che con un doppio click tra due colonne si 
visualizzi la colonna impostata come nascosta e non visibile. direi 
quasi un bug.
Nel frattempo nel sito del mitico lebans ho trovato una demo per 
freezare le dimensioni delle colonne nelle dataform di access.
adesso la provo.
 
ciao
BFS
 
 
 
 
 
 
 
 
 
 

la colonna magicamente appare.
A me non capita. Uso Access 2003 (ancora).
Forse perché sull'evento doppio click della sottomaschera ho una routine.
Se vuoi, prova a mettere una routine vuota sul doppio click e vedi come si 
comporta.
 
Grazie per farci sapere.
 
Ciao.
 
Silvio
 
 


ciao
ci avevo provato...ma pare che l'evento doppio click tra due colonne sia 
un evento non intercettabile
 
ciao
BFS