Discussione:
AIUTO: inserire un contatore e tot progressivo in una query
(troppo vecchio per rispondere)
Shot
2007-04-17 12:05:40 UTC
Permalink
Salve,
come da oggetto ho la necessita' di inserire un campo contatore ed un
totale progressivo in una query, ho provato con i suggerimenti trovati
su "sito comune" ma senza successo.

Potete aiutarmi?

Come al solito grazie per ogni eventuale suggerimento.
Ciao
Roberto dal portatile
2007-04-17 14:29:14 UTC
Permalink
Post by Shot
Salve,
come da oggetto ho la necessita' di inserire un campo contatore ed un
totale progressivo in una query, ho provato con i suggerimenti trovati
su "sito comune" ma senza successo.
Potete aiutarmi?
Se ti riferisci alla mia FAQ intitolata "2.16 Come si può ottenere il totale
progressivo di un campo in una query e come si può numerare progressivamente
le righe di una query?" cosa non ti è chiaro di quella soluzione che non ti
ha permesso di ottenere i risultati sperati?
Inoltre non sei riuscito a realizzare nessuna delle tre soluzioni proposte?
Post by Shot
Come al solito grazie per ogni eventuale suggerimento.
Prego
Post by Shot
Ciao
--
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------
Shot
2007-04-17 20:49:22 UTC
Permalink
On Tue, 17 Apr 2007 14:29:14 GMT, "Roberto dal portatile"
Post by Roberto dal portatile
Post by Shot
Salve,
come da oggetto ho la necessita' di inserire un campo contatore ed un
totale progressivo in una query, ho provato con i suggerimenti trovati
su "sito comune" ma senza successo.
Potete aiutarmi?
Se ti riferisci alla mia FAQ intitolata "2.16 Come si può ottenere il totale
progressivo di un campo in una query e come si può numerare progressivamente
le righe di una query?" cosa non ti è chiaro di quella soluzione che non ti
ha permesso di ottenere i risultati sperati?
Inoltre non sei riuscito a realizzare nessuna delle tre soluzioni proposte?
Post by Shot
Come al solito grazie per ogni eventuale suggerimento.
Prego
Post by Shot
Ciao
Ho provato la seconda soluzione.... aggiustando il codice in quiesto
modo
NumIncr: (SELECT Count (*) FROM [q_MinMax] as AAA WHERE
[AAA].[id]<[t_rifornimenti].[id])+1

nel risultato NumIncr e' sempre uguale a 1.... la query in questione
e' originata da un'altra query.
Roberto dal portatile
2007-04-18 14:17:14 UTC
Permalink
Post by Shot
On Tue, 17 Apr 2007 14:29:14 GMT, "Roberto dal portatile"
Post by Roberto dal portatile
Post by Shot
Salve,
come da oggetto ho la necessita' di inserire un campo contatore ed un
totale progressivo in una query, ho provato con i suggerimenti trovati
su "sito comune" ma senza successo.
Potete aiutarmi?
Se ti riferisci alla mia FAQ intitolata "2.16 Come si può ottenere il totale
progressivo di un campo in una query e come si può numerare
progressivamente
le righe di una query?" cosa non ti è chiaro di quella soluzione che non ti
ha permesso di ottenere i risultati sperati?
Inoltre non sei riuscito a realizzare nessuna delle tre soluzioni proposte?
Post by Shot
Come al solito grazie per ogni eventuale suggerimento.
Prego
Post by Shot
Ciao
Ho provato la seconda soluzione.... aggiustando il codice in quiesto
modo
NumIncr: (SELECT Count (*) FROM [q_MinMax] as AAA WHERE
[AAA].[id]<[t_rifornimenti].[id])+1
Devi scusarmi, ma qui sopra mi riporti solo quanto contenuto in un campo
calcolato della tua query sarebbe bene conoscere invece tutto il codice SQL
della query per capire il contesto in cui è inserito il campo calcolato.
Mentre ipotizzo che q_MinMax sia il nome della query che è origine record
della tua query in discussione, mi sfugge cosa possa essere t_rifornimenti.
Mi piacerebbe poi sapere quale sia la chiave primaria della query q_MinMax.
Post by Shot
nel risultato NumIncr e' sempre uguale a 1.... la query in questione
e' originata da un'altra query.
Le informazioni che mi hai fornito non mi sono sufficienti per darti una
risposta.
--
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------
Shot
2007-04-19 16:02:33 UTC
Permalink
On Wed, 18 Apr 2007 14:17:14 GMT, "Roberto dal portatile"
Post by Roberto dal portatile
Post by Shot
Ciao
Ho provato la seconda soluzione.... aggiustando il codice in quiesto
modo
NumIncr: (SELECT Count (*) FROM [q_MinMax] as AAA WHERE
[AAA].[id]<[t_rifornimenti].[id])+1
Devi scusarmi, ma qui sopra mi riporti solo quanto contenuto in un campo
calcolato della tua query sarebbe bene conoscere invece tutto il codice SQL
della query per capire il contesto in cui è inserito il campo calcolato.
Mentre ipotizzo che q_MinMax sia il nome della query che è origine record
della tua query in discussione, mi sfugge cosa possa essere t_rifornimenti.
Mi piacerebbe poi sapere quale sia la chiave primaria della query q_MinMax.
Post by Shot
nel risultato NumIncr e' sempre uguale a 1.... la query in questione
e' originata da un'altra query.
Le informazioni che mi hai fornito non mi sono sufficienti per darti una
risposta.
Se mi concedi ancora un po' di attenzione provvedo a postare tutti i
dati .... grazie mille

Ciao
Shot
2007-04-19 16:27:22 UTC
Permalink
Post by Shot
On Wed, 18 Apr 2007 14:17:14 GMT, "Roberto dal portatile"
Post by Roberto dal portatile
Post by Shot
Ciao
Ho provato la seconda soluzione.... aggiustando il codice in quiesto
modo
NumIncr: (SELECT Count (*) FROM [q_MinMax] as AAA WHERE
[AAA].[id]<[t_rifornimenti].[id])+1
Devi scusarmi, ma qui sopra mi riporti solo quanto contenuto in un campo
calcolato della tua query sarebbe bene conoscere invece tutto il codice SQL
della query per capire il contesto in cui è inserito il campo calcolato.
Mentre ipotizzo che q_MinMax sia il nome della query che è origine record
della tua query in discussione, mi sfugge cosa possa essere t_rifornimenti.
Mi piacerebbe poi sapere quale sia la chiave primaria della query q_MinMax.
Post by Shot
nel risultato NumIncr e' sempre uguale a 1.... la query in questione
e' originata da un'altra query.
Le informazioni che mi hai fornito non mi sono sufficienti per darti una
risposta.
Se mi concedi ancora un po' di attenzione provvedo a postare tutti i
dati .... grazie mille
Ciao
Ecco l'SQL completo spero sia piu' chiaro ma non credo :-)

SELECT q_MinMax.MaxDiid, q_MinMax.scheda, q_MinMax.N_SOC,
q_MinMax.TARGA, q_MinMax.TIPO, q_MinMax.SETTORE, q_MinMax.anno,
q_MinMax.mese, q_MinMax.MaxDiKM, q_MinMax.MinDiKM, [MaxDiKM]-[MinDiKM]
AS percorsi, q_MinMax.SommaDiquantità, q_MinMax.SommaDiimporto,
q_MinMax.ConteggioDiN_prelievo
FROM q_MinMax;

La chiava primaria e' l'id di MaxDiid raggruppato per lo scopo della
query
Roberto dal portatile
2007-04-20 07:59:05 UTC
Permalink
Post by Shot
Post by Shot
On Wed, 18 Apr 2007 14:17:14 GMT, "Roberto dal portatile"
Post by Roberto dal portatile
Post by Shot
Ciao
Ho provato la seconda soluzione.... aggiustando il codice in quiesto
modo
NumIncr: (SELECT Count (*) FROM [q_MinMax] as AAA WHERE
[AAA].[id]<[t_rifornimenti].[id])+1
Devi scusarmi, ma qui sopra mi riporti solo quanto contenuto in un campo
calcolato della tua query sarebbe bene conoscere invece tutto il codice SQL
della query per capire il contesto in cui è inserito il campo calcolato.
Mentre ipotizzo che q_MinMax sia il nome della query che è origine record
della tua query in discussione, mi sfugge cosa possa essere
t_rifornimenti.
Mi piacerebbe poi sapere quale sia la chiave primaria della query q_MinMax.
Post by Shot
nel risultato NumIncr e' sempre uguale a 1.... la query in questione
e' originata da un'altra query.
Le informazioni che mi hai fornito non mi sono sufficienti per darti una
risposta.
Se mi concedi ancora un po' di attenzione provvedo a postare tutti i
dati .... grazie mille
Ciao
Ecco l'SQL completo spero sia piu' chiaro ma non credo :-)
SELECT q_MinMax.MaxDiid, q_MinMax.scheda, q_MinMax.N_SOC,
q_MinMax.TARGA, q_MinMax.TIPO, q_MinMax.SETTORE, q_MinMax.anno,
q_MinMax.mese, q_MinMax.MaxDiKM, q_MinMax.MinDiKM, [MaxDiKM]-[MinDiKM]
AS percorsi, q_MinMax.SommaDiquantità, q_MinMax.SommaDiimporto,
q_MinMax.ConteggioDiN_prelievo
FROM q_MinMax;
La chiava primaria e' l'id di MaxDiid raggruppato per lo scopo della
query
Scusami ma a me interessa sapere quale sia la chiave primaria della query
q_MinMax.

Dal codice SQL di cui sopra non riesco a capirci molto.
Sarebe bene che tu mi fornissi quali siano in dettaglio i campi di q_MinMax
e cosa vuoi visualizzare nella tua nuova query: come farlo lo vedremo
insieme, visto che ipotizzo che la query con il codice SQL di cui sopra non
ti fornisce i risultati voluti.
--
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------
Shot
2007-04-20 13:42:59 UTC
Permalink
On Fri, 20 Apr 2007 07:59:05 GMT, "Roberto dal portatile"
Post by Roberto dal portatile
Post by Shot
On Wed, 18 Apr 2007 14:17:14 GMT, "Roberto dal portatile"
Scusami ma a me interessa sapere quale sia la chiave primaria della query
q_MinMax.
Dal codice SQL di cui sopra non riesco a capirci molto.
Sarebe bene che tu mi fornissi quali siano in dettaglio i campi di q_MinMax
e cosa vuoi visualizzare nella tua nuova query: come farlo lo vedremo
insieme, visto che ipotizzo che la query con il codice SQL di cui sopra non
ti fornisce i risultati voluti.
Mi renco conto di abusare un po' della tua pazienza, ma se vuoi posso
mandarti un estratto del DB alla mail indicata nel msg.
La query che voglio ordinare e' troppo intrigata.... magari puoi darmi
anche qualche suggerimento su come snellirla.
Mi faresti davvero un grande favore risolvendomi la cosa.

Aspetto tue indicazioni.
Ciao e grazie comunque
Roberto dal portatile
2007-04-20 15:21:36 UTC
Permalink
Post by Shot
On Fri, 20 Apr 2007 07:59:05 GMT, "Roberto dal portatile"
Post by Roberto dal portatile
Post by Shot
On Wed, 18 Apr 2007 14:17:14 GMT, "Roberto dal portatile"
Scusami ma a me interessa sapere quale sia la chiave primaria della query
q_MinMax.
Dal codice SQL di cui sopra non riesco a capirci molto.
Sarebe bene che tu mi fornissi quali siano in dettaglio i campi di q_MinMax
e cosa vuoi visualizzare nella tua nuova query: come farlo lo vedremo
insieme, visto che ipotizzo che la query con il codice SQL di cui sopra non
ti fornisce i risultati voluti.
Mi renco conto di abusare un po' della tua pazienza, ma se vuoi posso
mandarti un estratto del DB alla mail indicata nel msg.
La query che voglio ordinare e' troppo intrigata.... magari puoi darmi
anche qualche suggerimento su come snellirla.
Mi faresti davvero un grande favore risolvendomi la cosa.
Non vorrei sembrarti scortese, ma, nel rispetto dello spirito del NG, non
ritengo opportuno che tu mi invii il tuo database in quanto così
escluderemmo dalla discussione tutti gli altri frequentatori che non
riuscirebbero a seguirci in quanto non conoscerebbero il tuo datbase.
Inoltre credo che scopo del NG sia quello di dare una mano a superare dei
singoli problemi e non sostituirsi al proprietario del database nel
realizzarlo.
Post by Shot
Aspetto tue indicazioni.
Ciao e grazie comunque
Prego.
--
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------
Shot
2007-04-20 16:13:51 UTC
Permalink
Post by Roberto dal portatile
Non vorrei sembrarti scortese, ma, nel rispetto dello spirito del NG, non
ritengo opportuno che tu mi invii il tuo database in quanto così
escluderemmo dalla discussione tutti gli altri frequentatori che non
riuscirebbero a seguirci in quanto non conoscerebbero il tuo datbase.
Inoltre credo che scopo del NG sia quello di dare una mano a superare dei
singoli problemi e non sostituirsi al proprietario del database nel
realizzarlo.
Post by Shot
Aspetto tue indicazioni.
Ciao e grazie comunque
Prego.
ok... capisco. Provero' a postare tutte le informazioni
Shot
2007-04-20 16:51:11 UTC
Permalink
Post by Shot
ok... capisco. Provero' a postare tutte le informazioni
Eccomi:

ecco la struttura del DB (si tratta di un database che mi deve
consentire un controllo dei consumi di carburante associati a card di
prelievo)

tabella "t_rifornimenti" con i seguenti campi:

ID (campo univoco), scheda, N_prelievo, data, targa, distributore,
indirizzo, comune, carburante, quantità, importo, KM.

tabella "t_carte" con i seguenti campi:

N_soc (campo univoco), tipo, marca, targa, settore, assegnatario, N°
card.

prima query (q_estrazione_totale) che mi collega le due tabelle in
relazione con i campi "scheda" e "n°card" e mi estrae due campi "mese"
ed "anno" dal campo "t_rifornimenti!data"
ecco l'SQL:

SELECT t_rifornimenti.id, t_rifornimenti.scheda,
t_rifornimenti.N_prelievo, t_rifornimenti.KM, t_rifornimenti.data,
Year(t_rifornimenti!data) AS anno, Month(t_rifornimenti!data) AS mese,
t_rifornimenti.targa, t_rifornimenti.distributore,
t_rifornimenti.indirizzo, t_rifornimenti.comune,
t_rifornimenti.carburante, t_rifornimenti.quantità,
t_rifornimenti.importo, t_carte.N_SOC, t_carte.TIPO, t_carte.TARGA,
t_carte.SETTORE, t_carte.ASSEGNATARIO
FROM t_rifornimenti INNER JOIN t_carte ON t_rifornimenti.scheda =
t_carte.[N° CARD];

seconda query (q_minMax) che mi raggruppa i dati dei prelievi per mese
ed anno estraendomi il conteggio minimo e massimo dei KM del periodo
allo scopo di verificare al percorrenza del periodo stesso e mi
calcola il numero di prelievi del periodo, la somma dei litri e
l'importo totale dei rifornimenti effettuati. Ho dovuto estrarre anche
il min di ID della tabella rifornimenti allo scopo di effettuare il
raggruppamento.

ecco l'SQL:
SELECT Min(q_estrazione_totale.id) AS MinDiid,
q_estrazione_totale.scheda, q_estrazione_totale.N_SOC,
q_estrazione_totale.t_rifornimenti.TARGA, q_estrazione_totale.TIPO,
q_estrazione_totale.SETTORE, q_estrazione_totale.ASSEGNATARIO,
Max(q_estrazione_totale.KM) AS MaxDiKM, Min(q_estrazione_totale.KM) AS
MinDiKM, q_estrazione_totale.anno, t_mese.mese, t_mese.ID,
Count(q_estrazione_totale.N_prelievo) AS ConteggioDiN_prelievo,
Sum(q_estrazione_totale.quantità) AS SommaDiquantità,
Sum(q_estrazione_totale.importo) AS SommaDiimporto
FROM q_estrazione_totale INNER JOIN t_mese ON q_estrazione_totale.mese
= t_mese.ID
GROUP BY q_estrazione_totale.scheda, q_estrazione_totale.N_SOC,
q_estrazione_totale.t_rifornimenti.TARGA,
q_estrazione_totale.TIPO,q_estrazione_totale.SETTORE,
q_estrazione_totale.ASSEGNATARIO, q_estrazione_totale.anno,
t_mese.mese, t_mese.ID
ORDER BY q_estrazione_totale.scheda, q_estrazione_totale.anno,
t_mese.ID;


terza query (q_KM_percorsi) in cui inserisco un campo calcolato che mi
conteggia il percorso del perido come differenza tra MinDiKm e
MaxDiKm. A questo punto vorrei inserire anche il contatore del record
allo scopo di poter poi procedere con il calcolo progressivo delle
percorrenze chilometriche.... ma qui mi blocco.

ecco l'SQL

SELECT q_MinMax.scheda, q_MinMax.N_SOC, q_MinMax.TARGA, q_MinMax.TIPO,
q_MinMax.SETTORE, q_MinMax.anno, q_MinMax.mese, q_MinMax.MaxDiKM,
q_MinMax.MinDiKM, [MaxDiKM]-[MinDiKM] AS percorsi,
q_MinMax.SommaDiquantità, q_MinMax.SommaDiimporto,
q_MinMax.ConteggioDiN_prelievo, q_MinMax.MinDiid
FROM q_MinMax;

Di nuovo grazie.... comunque vada.
Ciao
Roberto dal portatile
2007-04-26 10:16:30 UTC
Permalink
Post by Shot
Post by Shot
ok... capisco. Provero' a postare tutte le informazioni
ecco la struttura del DB (si tratta di un database che mi deve
consentire un controllo dei consumi di carburante associati a card di
prelievo)
ID (campo univoco), scheda, N_prelievo, data, targa, distributore,
indirizzo, comune, carburante, quantità, importo, KM.
N_soc (campo univoco), tipo, marca, targa, settore, assegnatario, N°
card.
prima query (q_estrazione_totale) che mi collega le due tabelle in
relazione con i campi "scheda" e "n°card" e mi estrae due campi "mese"
ed "anno" dal campo "t_rifornimenti!data"
SELECT t_rifornimenti.id, t_rifornimenti.scheda,
t_rifornimenti.N_prelievo, t_rifornimenti.KM, t_rifornimenti.data,
Year(t_rifornimenti!data) AS anno, Month(t_rifornimenti!data) AS mese,
t_rifornimenti.targa, t_rifornimenti.distributore,
t_rifornimenti.indirizzo, t_rifornimenti.comune,
t_rifornimenti.carburante, t_rifornimenti.quantità,
t_rifornimenti.importo, t_carte.N_SOC, t_carte.TIPO, t_carte.TARGA,
t_carte.SETTORE, t_carte.ASSEGNATARIO
FROM t_rifornimenti INNER JOIN t_carte ON t_rifornimenti.scheda =
t_carte.[N° CARD];
seconda query (q_minMax) che mi raggruppa i dati dei prelievi per mese
ed anno estraendomi il conteggio minimo e massimo dei KM del periodo
allo scopo di verificare al percorrenza del periodo stesso e mi
calcola il numero di prelievi del periodo, la somma dei litri e
l'importo totale dei rifornimenti effettuati. Ho dovuto estrarre anche
il min di ID della tabella rifornimenti allo scopo di effettuare il
raggruppamento.
SELECT Min(q_estrazione_totale.id) AS MinDiid,
q_estrazione_totale.scheda, q_estrazione_totale.N_SOC,
q_estrazione_totale.t_rifornimenti.TARGA, q_estrazione_totale.TIPO,
q_estrazione_totale.SETTORE, q_estrazione_totale.ASSEGNATARIO,
Max(q_estrazione_totale.KM) AS MaxDiKM, Min(q_estrazione_totale.KM) AS
MinDiKM, q_estrazione_totale.anno, t_mese.mese, t_mese.ID,
Count(q_estrazione_totale.N_prelievo) AS ConteggioDiN_prelievo,
Sum(q_estrazione_totale.quantità) AS SommaDiquantità,
Sum(q_estrazione_totale.importo) AS SommaDiimporto
FROM q_estrazione_totale INNER JOIN t_mese ON q_estrazione_totale.mese
= t_mese.ID
GROUP BY q_estrazione_totale.scheda, q_estrazione_totale.N_SOC,
q_estrazione_totale.t_rifornimenti.TARGA,
q_estrazione_totale.TIPO,q_estrazione_totale.SETTORE,
q_estrazione_totale.ASSEGNATARIO, q_estrazione_totale.anno,
t_mese.mese, t_mese.ID
ORDER BY q_estrazione_totale.scheda, q_estrazione_totale.anno,
t_mese.ID;
terza query (q_KM_percorsi) in cui inserisco un campo calcolato che mi
conteggia il percorso del perido come differenza tra MinDiKm e
MaxDiKm. A questo punto vorrei inserire anche il contatore del record
allo scopo di poter poi procedere con il calcolo progressivo delle
percorrenze chilometriche.... ma qui mi blocco.
ecco l'SQL
SELECT q_MinMax.scheda, q_MinMax.N_SOC, q_MinMax.TARGA, q_MinMax.TIPO,
q_MinMax.SETTORE, q_MinMax.anno, q_MinMax.mese, q_MinMax.MaxDiKM,
q_MinMax.MinDiKM, [MaxDiKM]-[MinDiKM] AS percorsi,
q_MinMax.SommaDiquantità, q_MinMax.SommaDiimporto,
q_MinMax.ConteggioDiN_prelievo, q_MinMax.MinDiid
FROM q_MinMax;
Di nuovo grazie.... comunque vada.
Se non ho capito male tu vorresti inserire un campo calcolato in
q_KM_percorsi che numeri progressivamente le righe di tale query.
Se così è, come è chiarito nella FAQ 2.16 del Sito Comune, occorre per prima
cosa localizzale quale sia il campo univoco della query q_MinMax (su cui è
basata q_KM_percorsi) senza il quale le tre soluzioni della FAQ non possono
essere attuati; a occhio mi sembrerebbe di ipotizzare che tale campo porebbe
essere MinDiid, ma è bene che tu mi dia conferma.
E' necessario stabilire anche l'ordinamento della q_KM_percorsi in quanto la
numerazione progressiva verrà data all'interno di quell'ordine.
--
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------
Post by Shot
Ciao
Loading...