Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

totale progressivo access 2000

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

totale progressivo access 2000

Postdi m_sal » 04/12/09 21:39

Ciao
mi sono incasinato nel totale progressivo.

Nome tabella - Dettagli ordini
Contatore - IDProdotto
Sommaprogressiva - numero inserito per aggiornare
Totaleprestazioni - totale + numero inserito per aggiornare

Premetto che me la cavicchio con DB questa proprio non riesco a portarla fuori.
Grazie per l'aiuto
Mamo
m_sal
Utente Junior
 
Post: 11
Iscritto il: 04/12/09 21:26

Sponsor
 

Re: totale progressivo access 2000

Postdi archimede » 04/12/09 23:38

Un po' troppo sintetico temo: cos'è che vuoi fare esattamente?

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: totale progressivo access 2000

Postdi m_sal » 05/12/09 08:11

Hai ragione!
mi servirebbe una query che, inserendo un numero nel campo "Sommaprogressiva"(operazione molto frequente) mi aggiorni il totale nel campo "Totaleprestazioni" per IDProdotto.
Mauro
m_sal
Utente Junior
 
Post: 11
Iscritto il: 04/12/09 21:26

Re: totale progressivo access 2000

Postdi archimede » 05/12/09 08:20

Innanzitutto è generalmente sconsigliato memorizzare campi calcolati all'interno di una tabella; meglio usare una vista:
Codice: Seleziona tutto
SELECT IDProdotto, SUM(Sommaprogressiva) AS Totaleprestazioni FROM [Dettagli ordini] GROUP BY IDProdotto
Se non vuoi usare una vista:
Codice: Seleziona tutto
SELECT SUM(Sommaprogressiva) FROM [Dettagli ordini] WHERE IDProdotto=x
dove al posto di x metterai, ovviamente, l'ID che ti interessa.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: totale progressivo access 2000

Postdi m_sal » 05/12/09 08:45

Ciao Alessandro
due cose:
la prima è cosa intendi per "vista" è un termine che non ho mai sentito, scusami....
la seconda "..dove al posto di x ...." se il campo è contatore la funzione non lo ricava da solo?
Mamma mia pensavo di sapere qualcosina, ma mi accorgo di essere un completo ignorante.
Mauro
m_sal
Utente Junior
 
Post: 11
Iscritto il: 04/12/09 21:26

Re: totale progressivo access 2000

Postdi archimede » 05/12/09 09:24

m_sal ha scritto:cosa intendi per "vista" è un termine che non ho mai sentito
Se usi Access l'equivalente delle Views è Queries.

Per quanto riguarda la seconda domanda, non ho capito il contesto in cui ti serve l'informazione, ma in generale direi di no: se vuoi qualcosa di automatico meglio usare una vista/query.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: totale progressivo access 2000

Postdi m_sal » 05/12/09 17:01

Ciao
ho provato l'istruzione che mi hai consigliato ma mi rende "è stata scritta una sottoquery che può restituire più campi senza utilizzare la parola riservata EXISTS nella proposizione FROM della query principale. Modificare l'istruzione SELECT nella sottoquery per richiedere soltanto un campo"

Se interpreto correttamente la risposta di access in effetti a me servirebbe la somma per ciascuna prestazione.
Non so se sono riuscito a spiegarmi.
Mauro
m_sal
Utente Junior
 
Post: 11
Iscritto il: 04/12/09 21:26

Re: totale progressivo access 2000

Postdi archimede » 05/12/09 19:35

m_sal ha scritto:Non so se sono riuscito a spiegarmi.
No: probabilmente fai SELECT di campi che non sono nella GROUP BY ma è solo un'ipotesi. Posta il tuo codice.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: totale progressivo access 2000

Postdi m_sal » 05/12/09 21:24

Pensavo perché ci fosse una relazione tra tabelle.
Quindi ho creato una tabella chiamata Dettagli ordini
IDPRODOTTO
SOMMAPROGRESSIVA
TOTALEPRESTAZIONI

cioè in pratica tre campi e da quella ho fatto una query con il codice che mi hai suggerito

SELECT IDProdotto, SUM(Sommaprogressiva) AS Totaleprestazioni FROM [Dettagli ordini] GROUP BY IDProdotto

e mi restituisce

"La sintassi della sottoquery contenuta nell'espressione è errata.
Verificare la sintassi e racchiudere la sottoquery tra parentesi"
m_sal
Utente Junior
 
Post: 11
Iscritto il: 04/12/09 21:26

Re: totale progressivo access 2000

Postdi archimede » 06/12/09 01:19

Hai creato? Ma non esisteva già quella tabella? Relazione tra tabelle? Non ho idea di cosa tu stia facendo.

Posta la struttura della/e tua/e tabella/e REALE/I con i nomi dei campi REALI. Quindi spiega ESATTAMENTE il risultato che vuoi ottenere.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: totale progressivo access 2000

Postdi m_sal » 06/12/09 07:44

Hai creato? Ma non esisteva già quella tabella? Relazione tra tabelle? Non ho idea di cosa tu stia facendo.

Posta la struttura della/e tua/e tabella/e REALE/I con i nomi dei campi REALI. Quindi spiega ESATTAMENTE il risultato che vuoi ottenere.

Alessandro


Ho aperto un nuovo database in cui ho inserito solo la tabella che ti ho scritto

Dettagli ordini
IDPRODOTTO
SOMMAPROGRESSIVA
TOTALEPRESTAZIONI

per ripartire da zero, per evitare qualsiasi tipo di interferenze, pensavo...
Il problema è che il database che ho fatto andava benissimo per questo amico veterinario fino a quando non mi ha chiesto di poter aggiornare i parziali per ogni prestazione che faceva.
In pratica se in TOTALEPRESTAZIONI per quella prestazione aveva già 50 mi ha chiesto di poter aggiungere i parziali periodicamente che andassero a sommarsi alla quantità già presente.
Grazie
m_sal
Utente Junior
 
Post: 11
Iscritto il: 04/12/09 21:26

Re: totale progressivo access 2000

Postdi archimede » 06/12/09 08:55

La SELECT a me pare corretta e proprio non comprendo gli errori che tu riporti (eventuali altre tabelle non hanno alcuna influenza sulla query). Forse devi togliere il campo TOTALEPRESTAZIONI dalla struttura della tabella, tanto non ha comunque senso averlo lì. Se continua a dare errore anche dopo averlo eliminato, temo di aver esaurito le idee.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: totale progressivo access 2000

Postdi archimede » 06/12/09 09:04

m_sal ha scritto:se in TOTALEPRESTAZIONI per quella prestazione aveva già 50 mi ha chiesto di poter aggiungere i parziali periodicamente che andassero a sommarsi alla quantità già presente.
Questa non l'ho capita: intendi che alla MODIFICA del campo SOMMAPROGRESSIVA di un certo record tu vorresti memorizzare la somma del valore vecchio (precedente alla modifica) + quello nuovo? Perché in tal caso mi sa che devi rivedere il disegno fisico-logico del db.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: totale progressivo access 2000

Postdi m_sal » 06/12/09 09:43

Nel senso che se in totaleprestazioni ho 50, inserendo in sommaprogressiva 20 si deve memorizzare il valore 70.
Se poi inserisco 30 si deve memorizzare il valore 100. Questo per ogni tipo di prestazione venga inserita nel database.
Ok?
Grazie
m_sal
Utente Junior
 
Post: 11
Iscritto il: 04/12/09 21:26

Re: totale progressivo access 2000

Postdi archimede » 06/12/09 10:30

m_sal ha scritto:se in totaleprestazioni ho 50, inserendo in sommaprogressiva 20 si deve memorizzare il valore 70.
Ma 20 lo inserisci nello stesso record (modifica - sostitiusce il valore 50 precedentemente inserito) o in un nuovo record con lo stesso IDPrestazone (avrai due righe nella tabella, una con 50 e l'altra con 20)?

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: totale progressivo access 2000

Postdi m_sal » 06/12/09 12:10

In tabella ho 2 righe in pratica il "vecchio" valore di totaleprestazioni mi si deve aggiornare sommando ciò che viene inserito nel campo sommaprogressiva.
m_sal
Utente Junior
 
Post: 11
Iscritto il: 04/12/09 21:26

Re: totale progressivo access 2000

Postdi archimede » 06/12/09 13:03

Se in tabella hai due righe allora devi eliminare il campo totaleprestazioni e fare la vista.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: totale progressivo access 2000

Postdi m_sal » 06/12/09 13:38

"Se in tabella hai due righe allora devi eliminare il campo totaleprestazioni e fare la vista."

Ok mi potresti dire come scrivere la funzione?
Sono in palla.
Scusa e grazie
m_sal
Utente Junior
 
Post: 11
Iscritto il: 04/12/09 21:26

Re: totale progressivo access 2000

Postdi archimede » 06/12/09 14:45

Funzione? Questa parola non era ancora stata menzionata in questa discussione: devi fare una QUERY e come fare è illustrato ampiamente in uno dei primi link che ti ho fornito (e nell'help di Access, se non bastasse).

Modifica la tabella, fai la query col codice che ti ho dato ed esamina i risultati.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: totale progressivo access 2000

Postdi m_sal » 06/12/09 17:54

Fatto come hai detto, ma

SELECT IDProdotto, SUM(Sommaprogressiva) AS Totaleprestazioni FROM [Dettagli ordini] GROUP BY IDProdotto

mi restituisce

"La sintassi della sottoquery contenuta nell'espressione è errata.
Verificare la sintassi e racchiudere la sottoquery tra parentesi"

Domanda la sintassi è per access 2000?
m_sal
Utente Junior
 
Post: 11
Iscritto il: 04/12/09 21:26

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "totale progressivo access 2000":


Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti