Condividi:
Hai problemi con i file Zip, vuoi formattare l'HD, non sai come funziona FireFox? O magari ti serve proprio quel programmino di cui non ricordi il nome! Ecco il forum dove poter risolvere i tuoi problemi.
Moderatori: Dylan666, hydra, gahan
di mariollo » 21/02/05 16:18
Non riesco a trovare il modo di fare una query di aggiornamento tra due tabelle come da esempio
TABELLA SCATOLA TABELLA BARATTOLI
IDScatola IDScatola
PesoScatola IDBarattolo
PesoBarattolo
In pratica vorrei creare una query di aggiornamento che sommi i pesi dei barattoli contenuti nella scatola e porti il risultato nel campo PesoScatola.
Chiaramente le due tabelle sono collegtate con relazione una a molti
grazie 1000
Mariollo
-
mariollo
- Utente Junior
-
- Post: 11
- Iscritto il: 29/11/04 13:26
di mariollo » 21/02/05 16:32
ho visto che il messaggio nn è venuto formattato bene; le due tabelle di esempio:
TABELLA SCATOLA
IDScatola
PesoScatola
TABELLA BARATTOLI
IDScatola
IDBarattolo
PesoBarattolo
grazie
-
mariollo
- Utente Junior
-
- Post: 11
- Iscritto il: 29/11/04 13:26
di archimede » 21/02/05 17:11
mariollo ha scritto:Non riesco a trovare il modo di fare una query di aggiornamento tra due tabelle come da esempio
TABELLA SCATOLA TABELLA BARATTOLI
IDScatola IDScatola
PesoScatola IDBarattolo
PesoBarattolo
In pratica vorrei creare una query di aggiornamento che sommi i pesi dei barattoli contenuti nella scatola e porti il risultato nel campo PesoScatola.
Chiaramente le due tabelle sono collegtate con relazione una a molti
grazie 1000
Mariollo
Innanzitutto registrare un campo calcolato in una tabella è una pessima idea il 99% delle volte.
Se proprio insisti:
- Codice: Seleziona tutto
UPDATE SCATOLA S SET S.PesoScatola=DSum("PesoBarattolo", "BARATTOLI", "PesoBarattolo Is Not Null AND IDScatola=" & S.IDScatola);
HTH.
Alessandro
-
archimede
- Moderatore
-
- Post: 2851
- Iscritto il: 07/11/02 12:41
- Località: Genova
-
di mariollo » 22/02/05 11:01
Grazie Archimede.
Ho provato ad eseguire la query ma mi da un errore di conversione fra tipi.
Entrambe i pesi sono definiti in tabella come interi lunghi
qualche idea?
grazie ancora
-
mariollo
- Utente Junior
-
- Post: 11
- Iscritto il: 29/11/04 13:26
di archimede » 22/02/05 11:17
Io l'ho testata con A97 e non mi dà problemi: hai controllato i nomi dei campi e delle tabelle? Non mi viene in mente altro... a meno che tu non stia usando una versione di Access più vecchia della mia, ma mi pare improbabile.
Alessandro
-
archimede
- Moderatore
-
- Post: 2851
- Iscritto il: 07/11/02 12:41
- Località: Genova
-
di mariollo » 22/02/05 11:26
io ho office xp. non so sembra tutto ok; ho addirittura creato un db vuoto con le sole due tabelle di esempio ma l'errore persiste..
una domanda : hai chiamato "S" la tabella "Scatola" per qualche motivo o solo per comodità
grazie
Mario
-
mariollo
- Utente Junior
-
- Post: 11
- Iscritto il: 29/11/04 13:26
di archimede » 22/02/05 11:37
Solo per comodità: puoi toglierlo ed usare SCATOLA al suo posto.
IDScatola è intero?
Alessandro
-
archimede
- Moderatore
-
- Post: 2851
- Iscritto il: 07/11/02 12:41
- Località: Genova
-
di mariollo » 22/02/05 13:00
idscatola è testo in entrambe le tabelle e sono in relazione uno a molti
idbarattoli è un counter
ciao
-
mariollo
- Utente Junior
-
- Post: 11
- Iscritto il: 29/11/04 13:26
di archimede » 22/02/05 13:23
mariollo ha scritto:idscatola è testo in entrambe le tabelle
E adesso lo dici?

- Codice: Seleziona tutto
UPDATE SCATOLA AS S SET S.PesoScatola = DSum("PesoBarattolo","BARATTOLI","PesoBarattolo Is Not Null AND IDScatola='" & S.IDScatola & "'");
Alessandro
-
archimede
- Moderatore
-
- Post: 2851
- Iscritto il: 07/11/02 12:41
- Località: Genova
-
di mariollo » 22/02/05 14:36
ops scusa.. nn sapevo fosse importante...
ora in effetti funge..
ultima domanda: scatole e barattoli erano un esempio; in realtà le due tabelle sono si collegate da una relazione uno a molti ma hanno rispettivamente 3 e 4 records chiave
esempio
SCATOLA
IdMagazzino (testo)
IdScaffale (Numero)
IdScatola (testo)
PesoScatola (numero)
BARATTOLI
IdMagazzino (testo)
IdScaffale (Numero)
IdScatola (testo)
IdBarattolo (counter)
PesoBarattolo (numero)
come indico che la relazione deve collegare 3 campi? con And tra una relazione e l'altra?
grazie
-
mariollo
- Utente Junior
-
- Post: 11
- Iscritto il: 29/11/04 13:26
di mariollo » 22/02/05 15:00
no..
ho provato mettendo "And" ma non funziona..
sai cosa devo usare per far eseguire la query solo dove tutti e tre i campi sono uguali?
ciao
-
mariollo
- Utente Junior
-
- Post: 11
- Iscritto il: 29/11/04 13:26
di archimede » 22/02/05 15:02
mariollo ha scritto:come indico che la relazione deve collegare 3 campi? con And tra una relazione e l'altra?
Direi di sì. qualcosa tipo:
- Codice: Seleziona tutto
UPDATE SCATOLA AS S SET S.PesoScatola = DSum("PesoBarattolo","BARATTOLI","PesoBarattolo Is Not Null AND IDScatola='" & S.IDScatola & "' AND IdMagazzino='" & S.IdMagazzino & "' AND IdScaffale=" & S.IdScaffale);
HTH.
Alessandro
-
archimede
- Moderatore
-
- Post: 2851
- Iscritto il: 07/11/02 12:41
- Località: Genova
-
di mariollo » 23/02/05 11:48
Grazie Alessandro funge!

-
mariollo
- Utente Junior
-
- Post: 11
- Iscritto il: 29/11/04 13:26
Torna a Software Windows
Topic correlati a "ACCESS: Query di aggiornamento":
Chi c’è in linea
Visitano il forum: Nessuno e 41 ospiti