Newsgroup: it.comp.appl.access
Titolo: query riepilogativa

Ho un'unica tabella da cui ho bisogno di ricavare il riepilogo mensile in
base a [data convocazione] affinchè su ogni riga siano conteggiati i record
in cui sono impostati a Sì i campi (sì/no): evidenza; definita; nullaosta.
Ho provato e riprovato con la creazione guidata delle query di riepilogo di
access ma non riesco a venirne a capo. Qualcuno ha voglia di darmi una mano?
Grazie comunque
Giuliano (il pivello)

 ha scritto nel messaggio
news:%9dU9.109593$TC5.3...@twister1.libero.it...

Non sono sicuro di aver ben capito cosa tu voglia fare, ma hai provato a
vedere se risolvi il tuo problema con una query a campi incrociati?
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


Sě, ma la query a campi incrociati č limitata (non si possono inserire piů 3
intestazioni di riga).
Cercherň di spiegare piů dettagliatamente ciň che mi servirebbe ottenere:
kit perv.|mese conv.|conv.|evidenza|definite|nullaosta |discordanza
     8          dic.02        5        2           3           1           0
    30         gen. 03     10      12         10         18          1
Kit pervenuti č il totale dei record;
convocazioni si riferisce ad un campo data [conv] che ovviamente dovrebbe
essere contato soltanto se non č nullo e raggruppando per mese i record.
Evidenza, definite e nullaosta dovrebbero fare riferimento e quindi contare
solo i campi (sě/no) di tabella "anagrafica" che sono stati impostati a
vero.
Discordanza invece dovrebbe riferirsi mediante  Like'*'& 'DISCORDANZA'&'*'
ad un campo memo (Note) (ma eventualmente potrei anche creare un ulteriore
campo sě/no nella tabella principale "anagrafica").
Grazie Roberto se potrai farmi uscire da questa fase di blocco assoluto.
Giuliano (il pivello)

 ha scritto nel messaggio
news:lUfU9.110395$TC5.3...@twister1.libero.it...

Comincio a capirci qualcosa ma per darti una dritta dovresti postare la
struttura della tabella che contiene i dati e sarebbe bene che tu facessi un
esempio dei record in essa contenuti che ti genererebbero poi i risultati
sopra indicati.


 ha scritto nel messaggio
news:%9dU9.109593$TC5.3...@twister1.libero.it...

Se ho capito bene, devi fare tante query che raggruppano e contano quanti
sono i risultati che vuoi ottenere e poi una query riepilogativa che prende
i risultati delle singole query.
Le query che raggruppano e contano sono come la seguente:
SELECT Clienti.CodCategoria, Count(Clienti.CodCategoria) AS
ConteggioDiCodCategoria
FROM Clienti
GROUP BY Clienti.CodCategoria
HAVING (((Clienti.CodCategoria)="XX"));
Ciao

 Roberto
Dunque, preciso che il database in questione consta di un'unica tabella
("anagrafica") comprendente circa 35 campi e di altre tabelle non
relazionate.
Si tratta di seguire l'iter di un procedimento amministrativo dalla
presentazione della domanda da parte di un datore di lavoro fino alla
definizione del procedimento stesso.
La tabella Anagrafica ha una chiave primaria multipla su due campi:
[prog] (tipo dati 'numerico') e [codEme] (tipo dati 'testo').
[dataprot] (tipo dati 'data') registra la data di inserimento della domanda.
Dopo una serie di procedure burocratiche la pratica viene messa in evidenza:
[evidenza] (tipo dati 'sě/no') e la relativa casella viene impostata a vero.
Perviene ad un certo punto il Nulla Osta e questo viene registrato nel campo
[nullaOsta] (tipo dati 'Sě/No') impostando a vero la casella relativa.
[conv] (tipo dati 'data') registra invece la data di convocazione del datore
di lavoro per la firma del contratto.
Una volta firmato, la pratica č considerata definita e il relativo campo
[definita] (tipo dati 'Si/No') č impostato a Sě.
In caso di discordanze anagrafiche, invece, la pratica segue un percorso
diverso e ciň deve essere segnalato nel campo [Note] (tipo di dati 'memo')
mediante la parola 'DISCORDANZA'.
Ecco che mi occorrerebbe la query giŕ postata affinchč riepiloghi mese per
mese la situazione relativa allo stato dei vari procedimenti.
Spero di essere stato un po' piů chiaro
Grazie per la pazienza infinita
Giuliano (il pivello)

 ha scritto nel messaggio
news:4aiU9.111097$TC5.3...@twister1.libero.it...

Caro Giuliano,
c'č qualcosa che proprio non mi quadra.
Tu asserisci che i dati della query li vuoi raggruppati per mese di
convocazione (mese conv.), ne consegue che nella query saranno presi in
considerazione SOLAMENTE i record che hanno una data di convocazione, il cui
numero dovrŕ essere contato, per quel mese di convocazione, nella colonna
intestata conv.. Se cosě č, mi spieghi cosa vuoi contare nella colonna
intestata kit perv. (kit pervenuti)?
Penso che tu abbia fatto un po' di confusione e che i dati della query ti
servano raggruppati non per mese di convocazione ma per mese di protocollo:
in questo caso la cosa ha significato in quanto nella colonna kit perv.
verranno contati i record protocollati in quel mese, mentre nella colonna
conv. saranno contati i record protocollati in quel mese e che poi sono
stati convocati (al limite in un mese diverso da quello di protocollo); cosě
facendo avrai una situazione di che fine hanno fatto le domande protocollate
in un certo mese.
Aspetto tue delucidazioni, altrimenti anche io sono in un "blocco assoluto".
;-)



Le cose stanno esattamente come hai letto sulla tua famosa sfera di
cristallo.
Scusa per la confusione.
Kit pervenuti si riferisce a [dataprot] e come tu hai giustamente rilevato
il raggruppamento per mese deve necessariamente avvenire in base a questo
dato e non come erroneamente avevo indicato in base a [conv].
Riorganizzandomi il cervello mi sono però reso conto che accanto a questa
query organizzata come hai previsto se ne renderebbe necessaria un'altra per
la restituzione del totale generale dei conteggi in base agli stessi campi
ma senza ovviamente alcun raggruppamento temporale.
Comunque per ora ti ringrazio e ti prego di scusarmi per la confusione
(purtroppo devo rimettere le mani su questo database che non ho creato io ma
che dovrei rendere più funzionale rispetto alle esigenze espresse -con
altrettanta confusione- dai dirigenti preposti al servizio).
Grazie
Giuliano (il pivello)

 ma senza ovviamente alcun raggruppamento temporale.
Invece di due query è sufficiente una sola query che ti dà i totali
raggruppati per mese di protocollo ed alla fine ti visualizza una tiga con i
totali generali.
Puoi ottenere ciò con una query unione di due query di raggruppamento che
abbia il seguente codice SQL:
SELECT Sum(1) AS [kit perv], Format([dataprot], "yyyy/mm") AS [mese perv],
Sum(IIf(IsNull([conv]), 0, 1)) AS convoc, Sum(IIf([Evidenza]=True, 1, 0)) AS
evidenz, Sum(IIf([NullaOsta]=True, 1, 0)) AS nulOsta,
Sum(IIf([definita]=True, 1, 0)) AS definit, Sum(IIf([Note] Like
"*DISCORDANZA*", 1, 0)) AS DISCORDANZA
FROM anagrafica
GROUP BY Format([dataprot],"yyyy/mm")
UNION SELECT Sum(1) AS [kit perv], "TOTALE" AS [mese perv],
Sum(IIf(IsNull([conv]), 0, 1)) AS convoc, Sum(IIf([Evidenza]=True, 1, 0)) AS
evidenz, Sum(IIf([NullaOsta]=True, 1, 0)) AS nulOsta,
Sum(IIf([definita]=True, 1, 0)) AS definit, Sum(IIf([Note] Like
"*DISCORDANZA*", 1, 0)) AS DISCORDANZA
FROM anagrafica;
Dovrebbe funzionare: facci sapere qualcosa.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


 ha scritto nel messaggio
news:IvAU9.113882$TC5.3...@twister1.libero.it...

Tu sei un grande ed io ho imparato qualcosa... Ottimo affare!
Credo di poterti ringraziare anche da parte di migliaia di cittadini
extracomunitari residenti nella mia provincia che si augurano una
accelerazione del procedimento amministrativo al fine di giungere quanto
prima alla regolarizzazione della loro posizione in Italia.
Giuliano