Campo calcolato in query

di il
7 risposte

Campo calcolato in query

Buonasera, ho due tabelle DITTE - LAVORI.
La tabella DITTE è in relazione 1 a molti con Lavori.
Ho creato la query con questi campi:
IDLavoro ------ -------tab LAVORI
IDDitta --------------- tab DITTE
AnnoLavoro --------- tab LAVORI parametro Year(Date())
Importo -------- ------tab LAVORI
Totale:Somma([Importo])
quando lancio la query mi da questo errore: "Impossibile eseguire una query che non include l'espressione IDLavoro specificata come parte di una funzione di aggregazione"

7 Risposte

  • Re: Campo calcolato in query

    Ciao, come la vuoi la somma ?

    prova con una subquery :

    SELECT IDLavoro, IDDitta,
    (select sum(importo) from lavori as aaa where aaa.id_lavoro=lavori.id_lavoro group by id_lavoro order by id_lavoro desc) AS s
    FROM lavoro
    GROUP BY id_lavoro;

    un saluto.
  • Re: Campo calcolato in query

    La somma la debbo utilizzare in una sottomaschera continua che mi visualizzi l'importo per la ditta selezionata nella maschera principale.
    Non ho mai utilizzate le sottoquery, debbo creare una query e poi utilizzarla in un'altra query come una tabella, o debbo scriverla nella query a mo di espressione'.
    Comunque la query da te suggerita l'ho scritta come se fosse una espressione in una query TOTALE: SELECT IDLavoro, IDDitta,
    (select sum(importo) from lavori as aaa where aaa.id_lavoro=lavori.id_lavoro group by id_lavoro order by id_lavoro desc) AS s
    FROM lavoro
    GROUP BY id_lavoro;
    quando la lancio mi dice che può restituire più campi senza la parola riservata EXISTS nella clausola FROM
  • Re: Campo calcolato in query

    Ciao,

    per semplificare il tutto, perché non limitarsi ad inserire una casella di testo con origine riga =somma(importo) nella sottomaschera?

    se questa è la tua esigenza dovresti risolvere facilmente.

    facci sapere.
  • Re: Campo calcolato in query

    Ho seguito il tuo suggerimento e nella sottomaschera ho messo una casella di testo =Somma([Importo]), il problema è che la query della sottomaschera ha come criterio Year(Date()), quindi mi dovrebbe fare la somma solo dell'anno in corso, invece somma tutto il campo Importo anche anni diversi.
    Se lancio la query visualizza correttamente solo l'anno in corso
    Maschera e sottomaschera anno il campo IDDitta come Master e Secondario.
  • Re: Campo calcolato in query

    antonio54 ha scritto:


    Buonasera, ho due tabelle DITTE - LAVORI.
    La tabella DITTE è in relazione 1 a molti con Lavori.
    Ho creato la query con questi campi:
    IDLavoro ------ -------tab LAVORI
    IDDitta --------------- tab DITTE
    AnnoLavoro --------- tab LAVORI parametro Year(Date())
    Importo -------- ------tab LAVORI
    Totale:Somma([Importo])
    quando lancio la query mi da questo errore: "Impossibile eseguire una query che non include l'espressione IDLavoro specificata come parte di una funzione di aggregazione"
    Questa è una DESCRIZIONE, non è una QUERY, se non mostri la TUA query quale consiglio possiamo darti? Nessuno.
  • Re: Campo calcolato in query

    antonio54 ha scritto:


    Ho seguito il tuo suggerimento e nella sottomaschera ho messo una casella di testo =Somma([Importo]), il problema è che la query della sottomaschera ha come criterio Year(Date()), quindi mi dovrebbe fare la somma solo dell'anno in corso, invece somma tutto il campo Importo anche anni diversi.
    Che succede se nella casella di testo in maschera ci scrivi =Somma([NomeQuery].[Importo])?
  • Re: Campo calcolato in query

    La somma dell'importo per cosa lo vuoi per azienda/anno oppure per anno oppure per azienda oppure totalone di tutte le aziende e tutti gli anni?

    se mi chiarisci questa cosa poi fare una query non è difficile.
Devi accedere o registrarti per scrivere nel forum
7 risposte