Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di daryl74
    Registrato dal
    Jun 2001
    Messaggi
    125

    [ACCESS 2000] Query UPDATE complessa (sintassi SQL)

    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

  2. #2
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    per i db il forum giusto è programmazione: ti sposto
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nè quando nè da dove,
    t'amo direttamente senza problemi nè orgoglio:
    così ti amo perchè non so amare altrimenti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.