Newsgroup: it.comp.appl.access
Titolo: Query di selezione con totale !!!

salve amici...ho fatto una query di selezione che mi trova dei duplicati...
però mi servirebbe un totale finale...faccio un esempio :
Esenzione       Duplicati
Cod. 23             56
Cod. 48           123
Cod. 13           258
------Totale ? -------
                          ?
Grazie...

Altra query, che poi unisci a quella che hai già.

 Grazie...
Altra query, che poi unisci a quella che hai già.
------------------
mannaggia la porchetta Fabio... ci ho provato e riprovato ed il totale non
me lo dà mai !!!
I cod Esenzione sono sempre gli stessi ossia 80 codici... quelli che variano
sono i Duplicati..
ho ricreato una qry ma mi dà gli stessi risultati...invece vorrei che alla
fine della colonna Duplicati mi comparisse il numero totale...mi puoi
spiegare meglio se non ti dispiace ???

Altra query, che poi unisci a quella che hai già.
Superpippo, se non hai capito il giusto suggerimento di
Fabio, vediti UNION, GROUP BY e SUM sull'help.
Se ti era chiaro, scusami ;-)
--
Lorenzo Coronati
--
<<Si perché forse Ilbo (ed altri come lui) sono 
convinti che noi poveri principianti (nel senso 
ironico) scrivano le domande senza pensare.>>
(Ivan Lelli, 25/08/2000)
--
<<se il lavoro non me lo dai tu, me lo da 
un'altro stronzo che non capisce una sega 
di access e di informatica in generale>>
(Ivan dal lavoro, 30/09/2000)
--


mannaggia la paletta SuperPippo..., Fabio non ti ha detto di fare una
particolare query di raggruppamento, ma di fare, in aggiunta a quella che
già hai, una seconda query di raggruppamento ed unirla ad essa.
Hai letto sull'help gli argomenti che Lorenzo ti ha indicato? Hai capito
come si crea una query unione?
--
Roberto
---------------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------

 ha scritto nel messaggio
news:9OlD5.2169$N93....@news.infostrada.it...

ad essere sincero No... la query di unione non la sò fare !!!
riguardo l'help ho il problema che ho installato sul mio pc un Office 2000
in Italiano/cracckato e l'help lo dà mezzo inglese.....
cmq un pò mi vergogno di questo...forse non dovrei + frequentare questo Ng..
mi ostino sempre a fare cose che non sò fare....mi metto a fare dei DB se
così si possono chiamare andando a tentativi e passandoci sopra giorni e
giorni... che magari uno di voi lo farebbe in pochissimo tempo e certamente
+ funzionali... Bah...


Scusami, mi rendo conto che per fare lo spiritoso ti ho sgonfiato le ruote;
non credere che qualche mese fa io stessi meglio di te e mi ha sicuramente
giovato partecipare a questo NG e non me ne sono mai vergognato. Certo, se
ti compri un libro dove si parla di Access e riuscirai ad avere un help
tutto in italiano, sicuramente tribolerai di meno.
Una query unione può essere realizzata solamente tramite il codice SQL,
ovvero non puoi realizzarla aprendo la griglia della struttura, come
immagino tu sei abituato a fare.
Se apri la struttura di una tua qualsiasi query e dal menu Visualizza scegli
SQL, nella finestra che ti si aprirà vedrai il codice SQL della tua query.
Concettualmente una query unione non è altro che l'insieme del codice SQL di
almeno due query uniti tra di loro dalla parola UNION.
Devi avere l'accortezza che ambedue le query abbiano un identico numero di
colonne visibili.
Nel tuo caso quindi, oltre alla query che hai già creato, ti devi creare una
seconda query di raggruppamento che ti calcola il totale cercato; apri la
struttura questa seconda query e visualizzane il codice SQL, evidenzialo con
il mouse e premi Ctrl-C (copia); ora apri la struttura della tua prima
query, visualizzane il codice SQL, elimina il punto e virgala finale, nella
riga successiva digita la parola UNION; posizionati all'inizio della riga
seguente e premi Ctrl-V (incolla); chiudi e salva la prima query.
Ora se la apri vedrai, oltre ai totali per Cod. Esenzione anche il totale
generale.
Alla fine della fiera, se la query di raggruppamento che hai già fatto si
basa su Tabella1 ed ha un codice SQL simile a questo:
SELECT Tabella1.CodEsenzione, Sum(Tabella1.Duplicati) AS SommaDiDuplicati
FROM Tabella1
GROUP BY Tabella1.CodEsenzione;
e pertanto la query che calcola il totale generale ha il seguente codice
SQL:
SELECT Sum(Tabella1.Duplicati) AS SommaDiDuplicati
FROM Tabella1;
la query unione che serve a te avrà il seguente codice SQL:
SELECT Tabella1.CodEsenzione, Sum(Tabella1.Duplicati) AS SommaDiDuplicati
FROM Tabella1
GROUP BY Tabella1.CodEsenzione
UNION
SELECT "TOTALE", Sum(Tabella1.Duplicati) AS SommaDiDuplicati
FROM Tabella1;


 generale.
---------------------------
Intanto grazie x la tua pazienza ed il tuo incoraggiamento... Cmq mi sono
dato da fare.. e perlomeno ho raggiunto il risultato di vedermi il totale
nella seconda qry...però quando inserisco nella qry la parola UNION, poi mi
posiziono alla riga seguente...salvo... alla riaperura mi posiziona sempre
il SELECT a fianco di UNION con la conseguenza che la qry non funziona.....o
perlomeno credo sia questo il motivo....
Devo dirti anche che la qry1 è una query di selezione ed in modalità
struttura ci sono 2 campi..
"CodiceEsenzione" con Formula Raggruppamento e "CodiceEsenzione" con Formula
Conteggio.
ti inserisco il codice SQL di qry1 e qry2 che qunzionano.... (la qry2 mi dà
il totale)...
dove stà l'inghippo ora ???
Query1=
SELECT Esenzioni.Codice_Esenzione, Count(Esenzioni.Codice_Esenzione) AS
ConteggioDiCodice_Esenzione
FROM Esenzioni
GROUP BY Esenzioni.Codice_Esenzione;
Query2=
SELECT Sum (Query1.ConteggioDiCodice_Esenzione) AS
ConteggiodiCodice_Esenzione
FROM Query1;
------------------------------------------------


[CUT]

Se postavi anche la tua query unione forse avremmo scoperto l'arcano.
Non avevo capito che anziché fare delle somme dovevi contare dei record;
pertanto Query1 è OK la tua, ovvero:
SELECT Esenzioni.Codice_Esenzione, Count(Esenzioni.Codice_Esenzione) AS
ConteggioDiCodice_Esenzione
FROM Esenzioni
GROUP BY Esenzioni.Codice_Esenzione;
Query due deve invece diventare:
SELECT Count(Esenzioni.Codice_Esenzione) AS ConteggioDiCodice_Esenzione
FROM Esenzioni;
e pertanto la query unione risulta essere:
SELECT Esenzioni.Codice_Esenzione, Count(Esenzioni.Codice_Esenzione) AS
ConteggioDiCodice_Esenzione
FROM Esenzioni
GROUP BY Esenzioni.Codice_Esenzione
UNION SELECT "TOTALE", Count(Esenzioni.Codice_Esenzione) AS
ConteggioDiCodice_Esenzione
FROM Esenzioni;
Per scrupolo l'ho provata e funziona.
Come vedi UNION non ha bisogno di stare da sola su una riga del codice SQL;
te lo avevo suggerito solamente per rendere la cosa più intuitiva.
Ritengo che la tua query unione non funziona in quanto forse ti sei
dimenticato, dopo la seconda SELECT, di inserire "TOTALE"; questo lo ho
messo per far sì , come ti avevo detto nel mio precedente messaggio, che
anche la seconda query abbia due campi, così come la prima; in una query
unione questo è indispensabile, altrimenti ti dà errore.


 [CUT]

Grazie Roberto... grazie a te ho fatto un'altro piccolo passo avanti...vuoi
x la costruzione del DB e vuoi x la mia cultura in merito ad Access... che
mi piace sempre di più... devo cercare di trovare un libro esauriente in
merito....
ti chiedo un'altra cosa sicuramente banale x te...
sulla qry unione... ho costruito un report affinchè mi stampi  la lista dei
Codici Esenzioni con i suoi totali di lato x ogni codice... e grazie a te
con il suo bel totale finale....
alla fine del report come posso modificare questa situazione ??? vedi sotto
....
Codice_Esenzione                          TOTALE
ConteggioDiCodice_Esenzione         6473
Come togliere all' ultima e penultima riga Codice_Esenzione... e
ConteggioDiCodice_Esenzione.
se non è possibile non fà niente....


Sono due etichette, pertanto apri la struttura del tuo report e cancellale.
Comunque, se la query unione ti serviva solamente per stamparla su un
report, potevi anche fare a meno di farla; creando con l'autocomposizione un
report che aveva come origine record direttamente la tabella Esenzione,
dando le giuste indicazioni per i raggruppamenti avresti ottenuto i totali
di Query1 e poi alla fine gli potevi chiedere che si calcolasse il tuo
totalone. Provaci.



Caspiterina... ora ci provo anche con il Report.. certo mi servivano dei
totali da stampare... Cmq mi stà benissimo anche così... il risultato è +
che soddisfacente....
Riguardo l'altro problema, è una situazione di estetica, lo sò che sono
delle etichette...ed andando in struttura le posso togliere..ma non và bene
xchè rimangono scritti solo i codici....
siccome sono 80 i codici e le pagine si presentano così... a parte il titolo
dell'intestazione :
Codice_Esenzione                        001.253.0
ConteggiodiCodice_Esenzione                    3
Codice_Esenzione                        002.394
ConteggiodiCodice_Esenzione                 48
Codice_Esenzione                        013.250
ConteggiodiCodice_Esenzione                385
purtroppo come ti dicevo alla fine mi ritrovo......
Codice_Esenzione                          TOTALE
ConteggioDiCodice_Esenzione             6473
Cmq non fà niente... come dicevo era solo un fatto di esetica

 ha scritto nel messaggio
news:5jnE5.24291$N93.8...@news.infostrada.it...

Se riesci a farlo direttamente con il report vedrai che risolverai anche
questo problemino di estetica.
