Calcoli nelle query in ACCESS

lunedì 03 dicembre 2007 - 15.48

giulconi Profilo | Newbie

In una query ho i campi: Descrizione, prezzo, quantità e una Espr:([prezzo]*[quantità]) che mi restituisce il valore totale per ogni record. Come faccio ad avere il valore totale di tutti i record?
Grazie a chi mi aiuta.

Giulio

SSUPERPIPPO Profilo | Guru

>In una query ho i campi: Descrizione, prezzo, quantità e una
>Espr:([prezzo]*[quantità]) che mi restituisce il valore totale
>per ogni record. Come faccio ad avere il valore totale di tutti
>i record?
>Grazie a chi mi aiuta.
>
>Giulio

Sicuramente non lo puoi fare con un'unica query.
La query per ottenere il totale è:

SELECT SUM(Prezzo*Quantità) As Totale FROM TuaTabella

Ne risulterà un unico record contenente il totale dei valori calcolati per ogni record


http://blogs.dotnethell.it/alebadalin

giulconi Profilo | Newbie

Grazie Ale. Perfetto.
Ho applicato la sintassi a 6 query diverse ed ho ottenuto il totale dei record di ogni query.
Ora vorrei fare il totale dei totali delle 6 query diverse.
Ho provato a fare una query con il campo totale preso dalle altre, ma la risposta è "sono stati selezionati campi da origini record cui non è possibile connettersi"
Probabilmente ho sbagliato concettualmente???!!!

Giulio

SSUPERPIPPO Profilo | Guru

>Grazie Ale. Perfetto.
>Ho applicato la sintassi a 6 query diverse ed ho ottenuto il
>totale dei record di ogni query.
>Ora vorrei fare il totale dei totali delle 6 query diverse.
>Ho provato a fare una query con il campo totale preso dalle altre,
>ma la risposta è "sono stati selezionati campi da origini record
>cui non è possibile connettersi"
>Probabilmente ho sbagliato concettualmente???!!!
>
>Giulio

Ciao, ti allego un file mdb di esempio.

Troverai 3 tabelle di origine contenenti un campo Prezzo e un campo Qta; 3 query che calcolano il totale complessivo (come da tua precedente richiesta) e una query che prende i tre totali e li somma per ottenere un totale generale.

Prova a dare un'occhiata...

Ciao

Alessandro

http://blogs.dotnethell.it/alebadalin

giulconi Profilo | Newbie

Grazie Ale. Stanotte ho avuto una visione e stamattina ho capito dove sbagliavo. Poi col tuo file ho sistemato tutto. Ora per favore la ciliegina sulla torta per risolvere l'ultimo problema. Per avere la somma anche se in una tabella non vi sono record, come applico la funzione Nz su:
SELECT Sum([Prezzo]*[Quantita]) AS Totale
????
Se scrivo:
Totale:Nz(Somma([prezzo]*[quantita]);0)
mi da comunque totale 0, ma mi sparisce il formato valuta, così che 0 diventa testo ed invece di una somma =0 mi restituisce 000.
Non so che dire!!!
Giulio

SSUPERPIPPO Profilo | Guru

La funzione nz che tu hai giustamente utilizzato, restituisce un valore di tipo variant. Per ottenere un valore numerico devi convertire il risultato attraverso apposita funzione. La tua formula per calcorare il totale sarà quindi:

Totale: CDbl(nz(Somma([Importo]*[Qta]);0))

Ciao

Alessandro

http://blogs.dotnethell.it/alebadalin

giulconi Profilo | Newbie

Perfetto! Finalmente funziona tutto.
Ti ringrazio di cuore.
Ho sempre il problema con i sottoreport di access che lasciano spazi enormi nel report principale.
Esiste la possibilità di utilizzare un altro programma, tipo Crystall Report, che permette l'inserimento di altre sezioni, agganciandolo ad access????
Sempre che risolva il problema perchè non posso pensare di riscrivere tutte le tabelle, queries, maschere etc..
Giulio

SSUPERPIPPO Profilo | Guru

Se vuoi postare il tuo report e relative tabelle collegate, magari mi spieghi bene il tuo problema e vedo se posso aiutarti.

Ciao

Ale

http://blogs.dotnethell.it/alebadalin

giulconi Profilo | Newbie

E' una gestione ristorante. Circa 8Mb. Se vuoi potremmo incontrarci perchè magari potrebbe essere interessante???
Giulio

SSUPERPIPPO Profilo | Guru

>E' una gestione ristorante. Circa 8Mb. Se vuoi potremmo incontrarci
>perchè magari potrebbe essere interessante???
>Giulio

Non è decisamente un buon periodo, sono molto incasinato col lavoro e sono fuori ufficio da clienti praticamente tutti i giorni, scrivo sul forum nei piccoli ritagli di tempo (a Dicembre è sempre così)... magari a gennaio.

Nel frattempo potresti inviarmi il solo report con le tabelle con pochi record di esempio, lo comprimi con winzip, non dovrebbe essere pesante...

Attendo, ciao

Ale

http://blogs.dotnethell.it/alebadalin
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5