Newsgroup: it.comp.appl.access
Titolo: somma di un campo

Ciao a tutti
Volevo chidervi come fare una somma di un campo .
Avendo una tabella con campi "idprezzo"; "prezzo"
volevo somma tutti i campi di prezzo.
per esemio campo prezzo =100
                                        =10
                                        =100
totale                                =210
In excel si può fare la sommatoria invece in access?
E' possibile farlo con una query?

 ha scritto nel messaggio
news:8mgr4g$q95$1...@news.flashnet.it...

In Access si fa proprio con una query.
Se il nome della tua tabella fosse TABELLA1, il codice SQL della query è il
seguente:
SELECT Sum(TABELLA1.Prezzo) AS SommaDiPrezzo
FROM TABELLA1;
Roberto

 ha scritto nel messaggio
news:TNSi5.18182$dF5.3...@news.infostrada.it...


 ha scritto nel messaggio
news:8mhbpa$vhe$1...@news.flashnet.it...

[CUT]
Il primo suggerimento che ti do è quello di non mettere nella tua tabella il
campo GiorniTrascorsi; è bene non memorizzare nelle tabelle campi calcolati
(che sono informazioni) ma solo campi che contengono dati (DataInizio e
DataFine); questo ti evita la noia, nel caso che modifichi una o ambedue le
date, di aggiornare anche il campo della tabella che contiene la differenza
delle date. I calcoli è bene farli su campi di query o su controlli di
maschere o report, insomma sugli oggetti di output del database; comunque
decidi tu.
Per quello che ho capito, la tua query che per comodità chiameremo Query1, e
che visualizzi in una maschera, dovrebbe avere il seguente codice SQL:
SELECT Tabella1.DataInizio, Tabella1.DataFine,
DateDiff("y",[DataInizio],[DataFine]) AS GiorniTrascorsi
FROM Tabella1;
Se così è, fermo restando Query1, preparati una query unione che chiameremo
Query2 e che ha il seguente codice SQL:
SELECT Query1.DataInizio, Query1.DataFine, Query1.GiorniTrascorsi
FROM Query1
ORDER BY DataInizio
UNION SELECT "Totale" As DataInizio, "Giorni Trascorsi" As DataFine,
Sum(Query1.GiorniTrascorsi) AS SommaDiGiorniTrascorsi
FROM Query1;
A questo punto, nella tua maschera, visualizza Query2 al posto di Query1.
Comunque per me c'è qualcosa che non quadra:
1) Quale è la chiave primaria di tabella1?
2) La query nella maschera visualizza contemporaneamente TUTTI i record di
tabella1?
3) Il totale che vuoi è il totale generale dei dati di tutta la tabella o ti
serve il totale di gruppo in base a qualche chiave che non hai indicato?
Non avendo fornito queste notizie e non avendo la sfera di cristallo, può
darsi che la mia soluzione disattenda in parte le tue aspettative.
Fammi sapere.
Roberto

 ha scritto nel messaggio
news:HJYi5.19902$dF5.3...@news.infostrada.it...



Inserendo SQL che mi hai dato ho capito la seconda domanda.
Nella maschera devo visualizzare contemporaneamente tutti record es.:
dal .... al.... e n.giorni.
e poi devo anche visualizzare i giorni da fare e quelli rimasti.
Dovendo anche creare una maschera di inserimento del tipo:
dal... al .... e giorni richiesti.
Scusami x tutto questo casino che ho fatto.
Ciao.




[CUT]
Se le cose stanno così, la soluzione che ti ho fornito è funzionale a
risolvere il tuo problema. Provala.
Come chiave primaria di tabella1 puoi adoperare DataIniziale.
La risposta alla mia seconda domanda e SI.
Ciao
Roberto

 ha scritto nel messaggio
news:8mhr74$3r0$1...@news.flashnet.it...
In definitiva, ora hai risolto i problemi oppure no?
Roberto

 ha scritto nel messaggio
news:Ahdj5.22500$dF5.4...@news.infostrada.it...



Ricominciamo da capo.
La tabella Ferie ha tre campi: DataInizio (Tipo Data/ora e Chiave primaria),
DataFine (Tipo Data/ora) e Giorni (Tipo Numerico).
La tabella Anno ha un solo campo Numerico chiamato FerieSpettanti, che è
anche chiave primaria.
Dichiarati una maschera (MasheraInserimento) a visualizzazione a Maschera
singola, che contiene tre caselle di testo associate ai tre campi della
tabella Ferie (dai alle tre caselle di testo lo stesso nome dei campi della
tabella); questa maschera ha appunto come origine record la tabella Ferie e
serve a inserire , aggiornare e cancellare i relativi record.
A fronte dell'evento "Dopo aggiornamento" del controllo DataFine di
MascheraInserimento genera il seguente codice VBA:
Private Sub DataFine_AfterUpdate()
Dim Datacalc As Date
Me![Giorni] = 0
For Datacalc = DataInizio To DataFine
If WeekDay(Datacalc) <> 1 And WeekDay(Datacalc) <> 7 Then
Me![Giorni] = Me![Giorni] + 1
End If
Next Datacalc
End Sub
A fronte dell'evento "Su chiusura" di MascheraInserimento genera il seguente
codice VBA:
Private Sub Form_Close()
DoCmd.OpenForm "MascheraSituazione"
End Sub
Dichiarati una seconda maschera (MascheraSituazione) a visualizzazione a
Maschere continue; anche questa ha come origine record la tabella Ferie e
visualizza i tre campi della tabella.
Nella sezione Piè di pagina maschera di MascheraSituazione inserisci tre
caselle di testo non associate il cui nome è rispettivamente Spettanti,
Fatte e Residue.
Nell'origine controllo di Spettanti scrivi:
    =DSum(" [FerieSpettanti]";"Anno")
nell'origine controllo di Fatte scrivi:
    =DSum("[Giorni]";"Ferie")
e nell'origine controllo di Residue scrivi:
    =[Spettanti]-[Fatte]
Ti consiglio di settare come segue le Proprietà di MascheraSituazione:
Pulsanti spostamento            NO
Consenti modifiche               NO
Consenti eliminazioni            NO
Consenti aggiunte                NO
Immissione dati                    NO
A questo punto apri MascheraInserimento, digita le ferie fatte; quando hai
finito chiudi la maschera: ti si aprirà automaticamente la maschera
MascheraSituazione che ti darà la tua situazione ferie.
Ciao, fammi sapere
Roberto

 ha scritto nel messaggio
news:ubmj5.25236$dF5.4...@news.infostrada.it...



[CUT]
Roberto