Newsgroup: it.comp.appl.access
Titolo: Sintassi DCount

Scusate se chiedo aiuto su un argomento probabilmente gia trattato ma
neanche con google sono riuscito a trovare qualcosa (sono stati trattati
casi molto più difficili e probabilmente io che sono alle prime armi non
so apprezzarli).
Ho una tabella "Utenti" con questi campi:
Cognome, Nome, Indirizzo,
Da una maschera si possono imputare con delle semplici caselle di testo i
dati, la casella del cognome si chiama "CognomeUtente" . 
Il problema sorge quando devo controllare se una persona è già presente.
ho pensato di usare DLookup con questa sintassi associato all'evento su
Invio
DLookup("[Cognome]","[Utenti]","CognomeUtente"
ma non funziona,
Dove sbaglio, non ditemi che devo guardare l'help perchè fa esempi che non
dicono nulla a chi come me sta iniziando.
Grazie
Gianni.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 dicono nulla a chi come me sta iniziando.
Falso!
Primo esempio, nella pagina principale:
DLookup("[Cognome]", " Impiegati ", "[IDImpiegato] = 1")
Secondo esempio, stessa pagina
DLookup("[NomeProdotto]", "Prodotti", "[IDprodotto] =" & Forms![Dettagli
Ordini]!IDprodotto)
Terzo esempio, nella pagina degli esempi dove ce ne sono altri
DLookup("[NomeSocietà]", "Corrieri", "[IDCorriere] = 1")
Direi che è plateale dove è il problema no?
Ti aggiungo una cosa sola che in effetti non è ben riportata sull'help:
se devi confrontare dei valori di testo devi mettere gli apici tra il valore
da testare, se è numerico no.
Antonio

 Antonio
Grazie per la risposta e beato tu che dici che è plateale dov'e' il
problema, ma io non ho ID di nessun genere e la stringa che estraggo dalla
casella è gia testo ma come detto prima non funziona, ho provato con le
virgolette, senza virgolette, con il percorso completo del form ma nulla.
Ciao,
Gianni



--------------------------------
Inviato via 
http://usenet.libero.it

 virgolette, senza virgolette, con il percorso completo del form ma nulla.
Non c'hai l'id ma c'avrai un cognome da confrontare no?
Antonio

 Antonio
Si' e infatti sto cercando di paragonarlo facemdo cosi'
DLookup("[Cognome]","[Utenti]","CognomeUtente"
ma non capisco a cosa debbo confrontarlo
"CognomeUtente=[Cognome]" non funziona
[Cognome]=CognomeUtente non funziona
"CognomeUtente.Value =" & "[Cognome]" neanche
"[Cognome]=" & CognomeUtente.Value neppure
Boh!
Grazie comunque, mi sembrava una cosa semplice ma non lo è


 ciao MAssimiliano
Grazie per la risposta, ma io non ho immediatamente il cognome, lo devo
prendere dalla proprieta value della casella di testo Cognomeutente e se
ci metto DLookup("[Cognome]","[Utenti]","CognomeUtente.value")
non funziona
Ciao
  Gianni


 ha scritto nel messaggio
news:bdp56t$t0l$1...@news.newsland.it...

ti riferisci alla parte destra dell'"oppure" del mio post
MAssimiliano

 Grazie comunque, mi sembrava una cosa semplice ma non lo è
Scusa eh?
Questo esempio che ti ho proposto prima:
DLookup("[NomeProdotto]", "Prodotti", "[IDprodotto] =" & Forms![Dettagli
Ordini]!IDprodotto)
ti fa vedere come confrontare il CAMPO IDProdotto della tabella con il
valore contenuto nel controllo IDProdotto della maschera Dettagli Ordini.
Cambiando i nomi del campo e della maschera e del controllo da te usati e
soprattutto mettendo gli apici intorno al valore del controllo, ottieni
quello che desideri...
Antonio

 Antonio
Non credevo di essere cosi' stupido da non riuscire un una cosa cosi'
banale ma probabilmente lo sono.
Ricapitolo:
Tabella "Utenti"
Cognome  Nome  ...   ... 
Rossi    Mario ...   ...
Verdi    Giacomo ..  ...
Neri     Susanna ..  ...
Maschera con nome "GestioneUtenti" con un controllo casella di testo che
si chiama "CognomeUtente"
per controllare se è gia' presente un determinato cognome:
varX=DLookup("[Cognome]","[Utenti]","[Cognome] = "&
Forms![GestioneUtenti]!CognomeUtente)
if varX then ......
ma varX è sempre null sia che il cognome sia presente sia che sia assente
e riprovando con:
varX=DCount("[Cognome]","[Utenti]","[Cognome] = "&
Forms![GestioneUtenti]!CognomeUtente)
if varX then ...
il valore di varX è sempre = a zero come se non ci fosse anche se il
cognome è già presente
Grazie per la sopportazione


 cognome è già presente
Vedi quanto detto sopra.
Comunque io preferisco questa sintassi
[forms]![GestioneUtenti]![CognomeUtente]
Ultima nota: sai che gestire la duplicazione di persone con il controllo sul
cognome non è molto corretto?
Antonio

 Antonio
Grazie infinite, non avevo capito l'importanza di tutti gli apici (ma
spiegarlo meglio nell'Help, questi ****** della MSoft).
Per il cognome, penso di avere al max 30 cognomi per cui non mi dovrebbe
servire, nel caso mi basterà aggiungere il campo Nome alla stringa di
ricerca?
Ora passo all'inserimento di nuovi record se il cognome non c'e'
Grazie ancora, non posso ricambiare perche' mi sento molto idiota nei tuoi
confronti.
Gianni
PS: Grazie anche a MA che mi aveva dato lo stesso consiglio ma anche li'
non immaginavo che fosse cosi'


 non immaginavo che fosse cosi'
ciao MAssimiliano