Somma di colonna per data

di il
9 risposte

Somma di colonna per data

Buongiorno credo di essermi affogato in un bicchiere d'acqua , non ne esco da una settimana. Devo creare un DB per un monitoraggio Calorico con report giornaliero. Ho proceduto cosi: creo una tabella dove si inseriscono l'ora di assunzione cibo, lil numero di calorie ed altri dati che non servono alla mia domanda qui; una seconda tabella relazionata con la prima mediante un IDGiorno in cui vanno inseriti solo alcuni dati di calorie spese nella stessa giornata ed in un unico evento , quindi relazione uno (giorno) a molti (eventi giornalieri). Il risultato finale dovrebbe essere la differenza tra le calorie assunte e spese nella giornata e per 90 gg. . Non riesco a creare la somma delle calorie dei cibi assunti durante la giornata e cioè dati in colonna su vari record se non per totale di colonna , ma questo totale di colonna non esiste se voglio inserilo sulla maschera .... grazie 

9 Risposte

  • Re: Somma di colonna per data

    Ho il sospetto che tu stia affrontando il problema come se stessi gestendo un foglio di calcolo. Esplicita le tabelle e relativi campi.

  • Re: Somma di colonna per data

    22/12/2024 - Antony73 ha scritto:

    Esplicita le tabelle e relativi campi.

    cioè

    22/12/2024 - Antony73 ha scritto:

    creo una tabella dove si inseriscono l'ora di assunzione cibo, lil numero di calorie ed altri dati che non servono

    Come si chiama questa tabella?
    Come si chiamano i campi che hai indicato solo testualmente?
    Questa tabella ha un campo chiave primaria? Come si chiama?

    21/12/2024 - Ake ha scritto:

    una seconda tabella relazionata con la prima mediante un IDGiorno in cui vanno inseriti solo alcuni dati di calorie spese nella stessa giornata ed in un unico evento , quindi relazione uno (giorno) a molti (eventi giornalieri).

    Fornisci il nome proprio anche di questa seconda tabella.
    Idem i nomi propri dei campi.

    21/12/2024 - Ake ha scritto:

    Il risultato finale dovrebbe essere la differenza tra le calorie assunte e spese nella giornata e per 90 gg. . Non riesco a creare la somma delle calorie dei cibi assunti durante la giornata e cioè dati in colonna su vari record se non per totale di colonna , ma questo totale di colonna non esiste se voglio inserilo sulla maschera

    Rispiega questo concetto usando i nomi propri dei campi.
    I campi frutto di calcolo in Access non devono comparire nelle tabelle. Semmai crei una query che include i campi necessari, quindi aggiungi una colonna di calcolo. A seguire, puoi fare poggiare la tua maschera o report sulla query.

  • Re: Somma di colonna per data

    Ho proceduto cosi: creo una tabella dove si inseriscono l'ora di assunzione cibo, lil numero di calorie ed altri dati

    tabella pasti
     idpasto, giorno, orario, tipopasto, kcal,..., persona??

      1      01/01/24 08:00   colazione   500
      2      01/01/24 12:00   pranzo    2.000
      3      01/01/24 16:30   merenda     200
      4      01/01/24 20:00   cena      2.000
    ecc...

    colazione, pranzo e cena le prelevi da altra tabella magari specificando se colazione da 500 kcal o 300 kcal idem per gli altri.

    poi
    sum(kcal) from pasti where giorno=01/01/24
    ottieni le kcal del giorno

    sum(kcal) .....where data >x and data <y ottieni le kcal per periodo

    tabella eventi
      id, giorno, tipoattività, kcalspese, persona??
      1   01/01/24    corsa        1.000
      2   01/01/24 passeggiata    200

    stessa sql e ottieni quanto spende per giorno o per periodo.

    poi puoi estendere la dieta di pippo o pluto aggiungendo al where la persona tipo:

    and persona="pippo"

    in questo modo segni anche se salta un pasto o un evento.

    ovviamente la butto lì, non conoscendo le tabelle e i relativi campi.

  • Re: Somma di colonna per data

    Se il campo data, come pare, ha hh:mm:ss e la somma delle calorie da ottenere è di ogni giorno e non di un giorno specifico, serve fare una GroupedQuery implementando un campo calcolato FIX(campoData) che elimina hh:mm:ss e tiene il giorno quindi si mette il campo calorie in Somma nel raggruppamento e si ottiene la somma delle calorie per ogni giorno.

    Se ora si vuole restringere il periodo a 90gg, allora si mette nella WHERE(o HAVING a seconda) in cui Fix(campoData)>=(Fix(Now())-90

    Saluti

  • Re: Somma di colonna per data

    Grazie , tbl giornaliero con campi idgiorno,data,eserciziofisicokcal eserciziofisicokcal2,termogenesi(10% di totspese),kcal A riposokcal.

    Tbleventigiornalieri: id,idesterno(idgiorno tblgiornaliero, ora,ciboebevandeassunte, calorie, luogodi consumo, note.

    Relazione uno(idgiorno) a molti(assunzioni giornaliere.

  • Re: Somma di colonna per data

    Chiedo scusa, ma io sono davvero duro di comprendonio. Io sono abituato a descrivere le tabelle/relazioni così:

    TblGiornaliero
    IDGiorno (PK)
    Data
    EsercizioFisicoKCal
    EsercizioFisicoKCal2 (sono 2 i campi EsercizioFisicoKCal ?)
    Termogenesi
    KCal a riposo KCal (questo campo non l'ho capito)

    TblEventiGiornalieri
    IDEG (dichiaralo esplicito, non solo ID)
    IDGiorno (FK)
    Ora
    CiboEBeveandeAssunte (per me bastava chiamarlo Cibo)
    Calorie
    LuogoConsumo
    Note

    Relazione TblGiornaliero.IDGiorno uno-a-molti TblEventiGiornalieri.IDGiorno

    Innanzitutto sono corretti i campi così denominati?

    25/12/2024 - Ake ha scritto:

    Relazione uno(idgiorno) a molti(assunzioni giornaliere.

    Questa affermazione...la trovo incomprensibile.

    Poi...ho perso il filo del discorso. Non conosco affatto il tuo campo professionale e determinate terminologie mi ritornano come arabo. Potresti rispiegare tutto passo passo usando i nomi propri dei campi che ho indicato?

  • Re: Somma di colonna per data

    GRAZIE provo

    23/12/2024 - sihsandrea ha scritto:

    Ho proceduto cosi: creo una tabella dove si inseriscono l'ora di assunzione cibo, lil numero di calorie ed altri dati

    tabella pasti
     idpasto, giorno, orario, tipopasto, kcal,..., persona??

      1      01/01/24 08:00   colazione   500
      2      01/01/24 12:00   pranzo    2.000
      3      01/01/24 16:30   merenda     200
      4      01/01/24 20:00   cena      2.000
    ecc...

    colazione, pranzo e cena le prelevi da altra tabella magari specificando se colazione da 500 kcal o 300 kcal idem per gli altri.

    poi
    sum(kcal) from pasti where giorno=01/01/24
    ottieni le kcal del giorno

    sum(kcal) .....where data >x and data <y ottieni le kcal per periodo

    tabella eventi
      id, giorno, tipoattività, kcalspese, persona??
      1   01/01/24    corsa        1.000
      2   01/01/24 passeggiata    200

    stessa sql e ottieni quanto spende per giorno o per periodo.

    poi puoi estendere la dieta di pippo o pluto aggiungendo al where la persona tipo:

    and persona="pippo"

    in questo modo segni anche se salta un pasto o un evento.

    ovviamente la butto lì, non conoscendo le tabelle e i relativi campi.

    Grazie si hai capito malgrado la mia domanda poco professionale, provo. scusate il ritardo ma le feste .....

  • Re: Somma di colonna per data

    27/12/2024 - OsvaldoLaviosa ha scritto:

    Chiedo scusa, ma io sono davvero duro di comprendonio. Io sono abituato a descrivere le tabelle/relazioni così:

    TblGiornaliero
    IDGiorno (PK)
    Data
    EsercizioFisicoKCal
    EsercizioFisicoKCal2 (sono 2 i campi EsercizioFisicoKCal ?)
    Termogenesi
    KCal a riposo KCal (questo campo non l'ho capito)

    TblEventiGiornalieri
    IDEG (dichiaralo esplicito, non solo ID)
    IDGiorno (FK)
    Ora
    CiboEBeveandeAssunte (per me bastava chiamarlo Cibo)
    Calorie
    LuogoConsumo
    Note

    Relazione TblGiornaliero.IDGiorno uno-a-molti TblEventiGiornalieri.IDGiorno

    Innanzitutto sono corretti i campi così denominati?

    25/12/2024 - Ake ha scritto:

    Relazione uno(idgiorno) a molti(assunzioni giornaliere.

    Questa affermazione...la trovo incomprensibile.

    Poi...ho perso il filo del discorso. Non conosco affatto il tuo campo professionale e determinate terminologie mi ritornano come arabo. Potresti rispiegare tutto passo passo usando i nomi propri dei campi che ho indicato?

    ciao Osvaldo provo a scrivere come hai detto per farti capire io e solo da luglio che uso access e vorrei imparare.

    ho una tblAssunzioneCalorie i cui campi sono : ID; IDGiorno (Campo relazione con I'altra tabella); EventoOrario;AlimentiELiq;Calorie;Luogo.

    ho altra tblSpeseCalorie i cui campi sono : IDGiorno; Data; Passigiornalieri; CaloriePassi; Esercizio Formale; Minuti; CalorieEserForm; EserForm2; Min2; CalorEsForm 2; CalorieARiposo; Termogenesi.

    Relazione 1 a molti tra le due tabelle con i campi IDGiorno : TblSpeseCalorie uno-a-molti tblAssunzione Calorie.

    La somma delle calorie spese l'ho risolta con una QSpese sommando i campi calorie del record.

    La mia difficoltà sta nel calcolare la somma delle calorie assunte nella tblAssunzione Calorie che risultano in colonna tra i record ,e non lungo i record come nella tblSpeseCalorie. 

    Qui il titolo della conversazione , come si fa la somma di una colonna tra vari record ? ed inoltre come fare la somma di questi per data?

    spero di essermi adeguato il piu possibile con questo chiarimento.

    grazie

  • Re: Somma di colonna per data

    30/12/2024 - Ake ha scritto:

    La somma delle calorie spese l'ho risolta con una QSpese sommando i campi calorie del record.

    Sbagli approccio...

    Sia le assunzioni che gli smarimenti devi organizzarli in verticale non in orizzontale.

    Idassunzione; nominativo; idpasto iddieta.

    Pasto lo prelevi da pasti {colazione; merenda; pranzo; spuntino; cena}

    La dieta potrebbe variare da individuo ad individuo, tra colazione e cena e tra un piatto o l'altro (carne pesce verdure ecc...) insomma ricette!

    Ogni ricetta ha i suoi valori nutrizionali e la rda.

    Una query tira fuori il calendario dei pasti legato alle calorie delle diete per individuo

    La stessa struttura la usi specularmente con le calorie bruciate.

    Dieta sarebbe l'attività fisica e le kcal bruciate.

    Sempre la query ti restituisce le assunzioni e gli smaltimenti dal al per nominativo. Ovviamente la differenza ti indica se bruci le calorie o le incameri in modo da variare la dieta al bisogno.

Devi accedere o registrarti per scrivere nel forum
9 risposte