Newsgroup: it.comp.appl.access
Titolo: Query di conteggio che non funge... aiuto..

ho fatto questa query...di ricerca... con conteggio....
ma il risultato... dice una finestra..
è troppo complesso x essere valutato...
un'espressione numerica... etc tec...
eppure nella tabella Esenzioni di origine
il Campo Esenzioni è in Testo non in Mumerico....
dove sbaglio ???
---------------------------------
SELECT [Anagrafe Query].Anagrafe.Id_Assistito, [Anagrafe Query].Cognome,
[Anagrafe Query].Nome, [Anagrafe Query].Codice_Fiscale, [Anagrafe
Query].Sesso, [Anagrafe Query].Nascita, [Anagrafe Query].N_Protocollo,
[Anagrafe Query].Medico, [Anagrafe Query].Codice_regionale, [Anagrafe
Query].des_nascita, [Anagrafe Query].des_residenza, Count([Anagrafe
Query].Codice_Esenzione) AS ConteggioDiCodice_Esenzione
FROM [Anagrafe Query]
GROUP BY [Anagrafe Query].Anagrafe.Id_Assistito, [Anagrafe Query].Cognome,
[Anagrafe Query].Nome, [Anagrafe Query].Codice_Fiscale, [Anagrafe
Query].Sesso, [Anagrafe Query].Nascita, [Anagrafe Query].N_Protocollo,
[Anagrafe Query].Medico, [Anagrafe Query].Codice_regionale, [Anagrafe
Query].des_nascita, [Anagrafe Query].des_residenza
HAVING ((([Anagrafe Query].Medico) Like [Digitare Medico]) AND
((Count([Anagrafe Query].Codice_Esenzione))="013.250"));
-------------------------
grazie x l'aiuto...

> ((Count([Anagrafe Query].Codice_Esenzione))="013.250"));
Questa riga mi sembra sospetta: Count ritorna un numero, tu cosa vorresti
che facesse esattamente?
Alessandro

 ha scritto nel messaggio
news:a42php$rh0$1...@fe1.cs.interbusiness.it...

------------------------------
vorrei che mi contasse i record...
in effetti quando apro la query... digito il dottore...
e mi escono , supponiamo, 45 record con codice 013.250...
ebbene vorrei che mi uscisse solo il totale record...
poi in realtà dovrei fare  un Report che mi fà la stessa cosa..
però con 70 differenti dottori...
spero di essere stato chiaro...
ciao...

 wrote in message
news:pF998.46634$nI1.1...@twister1.libero.it...

Mi spiace ma io non ho mai usato la funzione Count con quella sintassi. O è
sbagliata oppure, più probabilmente, sono io che non conosco abbastanza
Access.
Se qualcun altro più in gamba può chiarire il problema, bene. Altrimenti, se
hai la pazienza di spiegarmi per filo e per segno che tabelle hai e che
risultato vuoi ottenere, possiamo vedere se c'è un modo di farlo scrivendo
la query diversamente.
Buona fortuna.
Alessandro

 Alessandro
------------>
certo che ho pazienza... l'importante che ne abbia anche tu... che credo +
esperto di me in Access.
allora brevemente... io ho una tabella Anagrafe ed una Esenzioni e sono in
relazione
tra loro...per farmi un riepilogo delle 2 mi sono creato un AnagrafeQuery
che
mostra entrambi i campi di mio interesse delle 2 tabelle in questione...
tra questi vi è un campo Medico ed uno Esenzioni....
ebbene a me serve, in realtà, forse anche senza usare la query...
di poter stampare in un Report  il nome dei Medici
e quanti codici 013,250 sono attribuiti ad esso...
faccio un esempio....
Dott. Pinco Pallino  --------- 27 (x 013.250)
Dott. Tarzan Ciccio ---------56
etc
spero di essere stato esauriente.... si può fare... ???
grazie x la pazienza...:0)))
--
SuperPippo®   [;o))



Vediamo se ho capito.
Tabella Anagrafe:
ID_Medico
Cognome
Nome
.
.
.
Tabella Esenzioni:
Codice_Esenzione
ID_Medico
.
.
.
Per ogni ID_Medico di Anagrafe vuoi contare quanti records ci sono in
Esenzioni con lo stesso ID_Medico e Codice_Esenzione="013.250". Se lo
scenario è questo puoi farlo con una o due query.
Una query:
SELECT Anagrafe.ID_Medico, Anagrafe.Cognome, Anagrafe.Nome, (SELECT
COUNT(Esenzioni.ID_Medico) AS x FROM Esenzioni WHERE
Esenzioni.ID_Medico=Anagrafe.ID_Medico AND
Esenzioni.Codice_Esenzione="013.250";) AS ContaEs FROM Anagrafe;
Due Query:
ContaEsenzioni:
SELECT ID_Medico, Codice_Esenzione, Count(*) AS ContaEs
FROM Esenzioni GROUP BY ID_Medico, Codice_Esenzione;
AnagEsenzioni:
SELECT Anagrafe.ID_Medico, Anagrafe.Cognome, Anagrafe.Nome,
ContaEsenzioni.ContaEs
FROM Anagrafe INNER JOIN ContaEsenzioni ON Anagrafe.ID_Medico =
ContaEsenzioni.ID_Medico
WHERE ContaEsenzioni.Codice_Esenzione="013.250";
Bye.
Alessandro

 Alessandro
---------------------------------------------->
scusami... siccome mi hai scritto anche in mail...
ti ho risposto anche in privato.....
 Allora ... Tabella Anagrafe...
ID_Assistito > chiave primaria
Medico  > Testo
Tabella Esenzioni
ID_Assistito > Numerico
Codice_Esenzione  > Testo
hai perfettamente inteso... devo fare x ogni Medico...un conteggio record
del codice 013.250....
prima che mi impazzisca con il codice da te sopra riportato...
posso farlo anche se i 2 campi in questione non sono chiave primaria ???
aspetto notizie e scusa il disturbo...
ciao...
--
SuperPippo®   [;o))

 aspetto notizie e scusa il disturbo...
Se l'anagrafe è dell'assistito e non del medico, e se devi contare le
esenzioni per medico, perchè vuoi includere cognome, nome, ecc. (che presumo
dell'assistito) nella query? Mi pare che tu stia cercando di fare un
raggruppamento e visualizzare dati di dettaglio nello stesso tempo, il che
non è molto logico (nè, credo, possibile).
Sempre se l'anagrafe è dell'assistito e non del medico, non saprei come fare
il conto con una sola query in Access. Con due, puoi semplicemente costruire
la prima che restituisce tutti i dati degli assistiti più quelli delle
esenzioni per ogni assistito; la seconda farà un totale raggruppando per
medico e su questa puoi applicare i criteri che vuoi (di medico e/o
esenzione).
AnagEsenzioni:
SELECT Anagrafe.*, Esenzioni.Codice_Esenzione
FROM Anagrafe INNER JOIN Esenzioni ON Anagrafe.ID_Assistito =
Esenzioni.ID_Assistito;
ContaEs:
SELECT Medico, Codice_Esenzione, Count(*) AS conto
FROM AnagEsenzioni GROUP BY Medico, Codice_Esenzione;
Spero sia quello che volevi.
Alessandro