Newsgroup: it.comp.appl.access
Titolo: contare record intestati allo stesso ID ...

ho una tabella di anagrafica ed una di ordini, collegate dall'ID cliente ...
il mio problema e' che sull'anagrafica vorrei un campo che mi indichi quanti
ordini ha effettuato il cliente in particolare. Come faccio ???
Grazie a chi mi vorra' aiutare
Rynko

 ha scritto nel messaggio
news:u2_p7.587$Su1....@news2.tin.it...

Essendo la relazione Clienti->Ordini uno a molti, puoi fare una query che
associ ad ogni cliente tutti gli ordini da lui emessi e aggiungi un campo
conteggio...
Correggetemi se sbaglio...
Saluti
Sergio Della Giora

 wrote in message u2_p7.587$Su1....@news2.tin.it...

E' sbagliato mettere nell'anagrafica questo valore visto che è dinamico e
comunque calcolabile di volta in volta.
E' meglio calcolarlo quando ti serve e visualizzarlo dove vuoi, per esempio
usando la funzione DCount
DCount("*","Tab_Ordini","ID=" & id_considerato)
Antonio

 ha scritto nel messaggio
news:u2_p7.587$Su1....@news2.tin.it...

Se intendi che nella tabella anagrafica vuoi inserire un campo calcolato che
contiene il numero di ordini fatti da quel cliente, tecnicamente puoi farlo
con una query di aggiornamento.
Ti sconsiglio però di farlo in modo assoluto: in un database relazionale non
si registrano mai campi calcolati in una tabella. Nel tuo caso il motivo è
facile da comprendere: dovresti rieseguire la query di aggiornamento ogni
volta che inserisci o cancelli un ordine dalla tabella Ordini, in caso
contrario il numero di ordini per cliente memorizzato nella tabella
Anagrafica non sarebbe corretto e questo non sarebbe logico.
Ti consiglio pertanto, nella maschera con cui visualizzi i dati della
tabella Anagrafica (o comunque tutte le volte che vuoi conoscere il numero
di ordini fatti da un determinato cliente), di inserire una casella di testo
non associata nella cui origine controllo scriverai:
= DCount("[IDCliente]"; "Ordini"; "IDCliente=" & IDCliente)
Per maggiori dettagli sulla funzione DCount edi l'help.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Antonio
Mi da' errore: #NOME?
 ho provato anche con "=conteggio([tab_ordini]![id_cliente])" .. mi da'
errore: #ERRORE?
Ke faccio ???
Rynko

 Roberto
mi da' errore: #ERRORE
non capisco .....
Rynko


Bene, rispondi prima tu queste tre domande:
1) Come si chiama la tua tabella che contiene gli ordini dei clienti?
2) Come si chiama nella tabella che contiene gli ordini il campo numerico
(che rappresenta la chiave esterna della relazione tra le due tabelle) che
contiene l'ID cliente??
3) Come si chiama il controllo della maschera che visualizza la lista
anagrafica e che è associato al campo ID cliente della tabella anagrafica???
Nel mio esempio ho presupposto che la tabella di cui al punto 1) si chiami
Ordini, che il campo di cui al punto 2) si chiami IDCliente e che il
controllo di cui al punto 3) si chiami IDCliente.
Visto che ricevi il messaggio #ERRORE è evidente che nel tuo database i nomi
di cui i punti 1) e/o 2) sono diversi da quelli da me usati nell'esempio;
ebbene sostituisci i tuoi nomi a quelli da me usati nella DCount.
In ogni caso ti rinnovo il consiglio di andarti a leggere cosa dice l'help
circa l'uso della DCount; sembrerebbe proprio che tu non l'abbia fatto;
perché?



Ti ringrazio per l'aiuto, e ti rispondo subito ke sono imbranato ma non
esageriamo. Certo ke ho cambiato i nomi dei campi, e ho anche letto l'help,
ma non funziona ugualmete. Ho risolto modificando l'origine dei dati della
maschera, da tabella "anagrafica" in un select, includendo nella querry i
campi che dovevo contare della tabella "ordini". Sembrerebbe ke se i campi
sono esterni alla tabella impostata come origine dei dati, la funzione non
riesca a trovarli, o forse e' normale e non lo sapevo.
Grazie ancora per l'aiuto.
Ciao
Rynko

 Rynko
--


 wrote in message Lb%p7.1208$Su1....@news2.tin.it...

Dimmi che non hai copiato pari pari la mia funzione, ma hai sostituito
tab_ordini con il nome della tua tabella, ID col nome del campo ID e
id_considerato con una variabile che contenga l'id del record in esame....
dimmelo...
Antonio


Si certo !!! .... cmq ... non funziona ... ho risolto infilando i dati che
mi servivano in una sotto maschera ... e funziona!!!
Mistero di Access ...
Rendiamo grazie a Microsoz !!!
Rynko