Dunque, ho 3 tabelle in un DB Access 2000:
Tbl_DATI_1 (dati come se fossero già raggruppati e sommati - GROUP)
ID_tbl contatore
ID_Area testo
TipoIntervento testo
Nro_Interventi numerico
Ore_Interventi numerico
Tbl_DATI_2 (dati estesi - dettaglio)
ID_tbl contatore
ID_Area testo
ID_Intervento testo
TipoIntervento testo
Ore_Intervento numerico
Tbl_Temp_Stampa_1 (tabella temporanea per la stampa)
ID_Stampa contatore
ID_Area testo
Nro_A numerico
Ore_A numerico
Nro_B numerico
Ore_B numerico
Nro_C numerico
Ore_C numerico
La seguente query funziona BENISSIMO, riesco ad updatare i dati in una tabella in base ai dati risultanti da una query di selezione effettuata su 1 altra tabella. Ecco la sintassi:
codice:
UPDATE Tbl_Temp_Stampa_1,
(SELECT * FROM Tbl_DATI_1 WHERE TipoIntervento="a") AS Qry_1
SET Tbl_Temp_Stampa_1.Nro_A = Qry_1!Nro_Interventi,
Tbl_Temp_Stampa_1.Ore_A = Qry_1!Ore_Interventi
WHERE (((Tbl_Temp_Stampa_1.ID_Area)=[Qry_1]![ID_Area]));
La mia necessità però è di utilizzare i dati raggruppati e sommati provenienti dalla tabella DATI_2 mediante una query. La sintassi è questa:
codice:
UPDATE Tbl_Temp_Stampa_1,
(SELECT Tbl_DATI_2.ID_Area, Tbl_DATI_2.TipoIntervento,
Count(Tbl_DATI_2.TipoIntervento) AS Nro_Interventi,
Sum(Tbl_DATI_2.Ore_Intervento) AS Somma_Ore_Interventi
FROM Tbl_DATI_2
WHERE TipoIntervento="a"
GROUP BY Tbl_DATI_2.ID_Area, Tbl_DATI_2.TipoIntervento) AS Qry_1
SET Tbl_Temp_Stampa_1.Nro_A = Qry_1!Nro_Interventi,
Tbl_Temp_Stampa_1.Ore_A = Qry_1!Somma_Ore_Interventi
WHERE (((Tbl_Temp_Stampa_1.ID_Area)=[Qry_1]![ID_Area]));
In questo caso però ACCESS mi dice: OPERATION MUST BE AN UPDATABLE QUERY. Nella seconda Query la parte di SELECT è cmq una selezione esattamente come nella prima anche se effettua dei calcoli sui dati.
Non riesco a venirne a capo (le query le sto utilizzando sotto forma di istruzioni SQL nel codice di un modulo VB ACCESS 2000 anche se per l'esempio sono state create nelle query di ACCESS).
Qualche suggerimento ?
Grazie anticipatamente
DaryL74