Newsgroup: it.comp.appl.access
Titolo: Punto o punto esclamativo??

Ciao a tutti.
Volevo sapere qual'è la differenza fra punto esclamativo(!) e punto
normale(.) quando scrivo un'istruzione SQL da VBA.
Ad esempio per richiamare un controllo da una maschera esterna a quella
attiva devo scrivere:
[Forms]![Maschera].[Controllo]
Oppure per richiamare un controllo della maschera attiva posso scrivere:
Me.Controllo
o
Me!Controllo
e funzionano entrambi!!!
Che differenza c'è??
Antonio Biso in un post precedente ha riportato un testo, probabilmente
estrapolato dall'help, che spiega dove vanno messi ma non spiega il perchè.
Grazie per eventuali risposte 
Riciao
-- 
Dario
--
Il bello della vita è vivere:
molti esistono, ecco tutto.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Riciao
Sempre dall'HELP:
Utilizzare gli operatori punto esclamativo (!) e punto (.) nelle
espressioni
È possibile utilizzare gli operatori punto esclamativo (!) e punto (.) in
un identificatore per indicare il tipo di elemento immediatamente
successivo.
L'operatore punto esclamativo (!) indica che ciò che segue è un elemento
definito dall'utente, ossia un elemento di un insieme. È possibile ad
esempio utilizzare l'operatore punto esclamativo (!) per fare riferimento
a una maschera o a un report aperto oppure a un controllo di una maschera
o di un report aperto.
Identificatore Fa riferimento a 
Forms![Ordini] Maschera Ordini aperta 
Reports![Fattura] Report Fattura aperto 
Forms![Ordini]![IDOrdine] Controllo IDOrdine della maschera Ordini aperta 
L'operatore punto (.) indica che ciò che segue è un elemento attivo
definito dal programma. Utilizzare ad esempio l'operatore punto (.) per
fare riferimento a una proprietà di una maschera, di un report o di un
controllo.
Nota   È anche possibile utilizzare l'operatore punto (.) per fare
riferimento al valore di un campo in un'istruzione SQL, un metodo Visual
Basic Applications Edition o un insieme. L'identificatore
Forms![Ordini].Controls fa riferimento ad esempio all'insieme Controls
della maschera Ordini. Poiché però l'insieme Controls è l'insieme
predefinito per le maschere e i report, non è in genere necessario fare
riferimento a esso in modo esplicito.
--
rgrds
SC
-- 


 --
Veramente l'help (almeno la ver.97) lo spiega il perché utilizzare ! o .
'----- help 97
Utilizzo degli operatori punto esclamativo (!) e punto (.) nelle espressioni
È possibile utilizzare gli operatori punto esclamativo (!) e punto (.) in un
identificatore per indicare il tipo di elemento immediatamente successivo.
L'operatore punto esclamativo (!) indica che ciò che segue è un elemento
definito dall'utente, cioè un elemento di un insieme. È possibile utilizzare
l'operatore punto esclamativo (!), ad esempio, per fare riferimento ad una
maschera o ad un report aperto oppure ad un controllo di una maschera o di
un report aperto.
Identificatore Fa riferimento a
Forms![Ordini] Maschera aperta Ordini
Reports![Fattura] Report aperto Fattura
Forms![Ordini]![IDOrdine] Controllo IDOrdine della maschera aperta Ordini
L'operatore punto (.) indica che ciò che segue è un elemento attivo definito
dal programma. Utilizzare l'operatore punto (.), ad esempio, per fare
riferimento ad una proprietà di una maschera, di un report o di un
controllo.
Nota   È possibile inoltre utilizzare l'operatore punto (.) per fare
riferimento ad un valore di campo di un'istruzione SQL, ad un metodo di
Visual Basic, Applications Edition o ad un insieme. L'identificatore
Forms![Ordini].Controls, ad esempio, fa riferimento all'insieme Controls
della maschera Ordini. Poiché, tuttavia, l'insieme Controls è predefinito
per maschere e report, non è necessario, in genere, farvi riferimento in
modo esplicito.
'--------
Ciao.
--
Sergio MAZZA

 normale(.) quando scrivo un'istruzione SQL da VBA.
A regola il ! serve per selezionare un oggetto di un insieme, il punto per
riferirsi alla proprietà o metodo di un oggetto.
Io uso però sempre il punto e funziona sempre!!!
Antonio

 Io uso però sempre il punto e funziona sempre!!!
Sei sicuro? Se usi DAO p.e.
rs.NomeCampo
solo funziona fino a A2 o al massima con Compatibility Library per 2.5.
Dopo viene un errore perché non è una proprietà o metodo.
-- 
cu
Karl
*********
Access-FAQ (tedesco): 
http://www.donkarl.com

 Dopo viene un errore perché non è una proprietà o metodo.
Io uso
rs.fields("nomecampo")
Antonio

 rs.fields("nomecampo")
Beh, il trucco di essere esplicito non vale.
Il solito svilupatore è pigro e usa abbreviazioni.
-- 
;-)


Grazie a tutti per le risposte.
Vi chiedo scusa, ma nell'help io non avevo trovato niente.
Vabbč, grazie ancora e ciao!!!!
-- 
Dario
--
Il bello della vita č vivere:


 Il solito svilupatore è pigro e usa abbreviazioni.
Oppure diventa un abile e rapido tippettatore...
Antonio