Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [access] somma ore

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    17

    [access] somma ore

    ragazzi ho un problema con la somma delle ore in access, ho aperto tempo addietro una discussione alla quale purtroppo non ho avuto risposta.
    il problema è questo:
    ho una tabella di access con i campi "ProgrammatoInizio" e "ProgrammatoFine" dei quali viene fatta la differenza nel campo "Programmato" tramite una Query (suggerita abilmente da alcuni di voi) , il problema è che se scrivo 24.00 non me lo accetta e sono costetto a digitare 23.59, inoltre vorrei fare in una maschera o report la somma totale del campo "Programmato".
    perfavore sono fermo e non riesco ad andare oltre.......

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    In effetti il primo istante della giornata è l'ora 00.00.00

    mentre l'ultimo istante è l'ora 23.59.59



    Quindi è corretto che non ti prenda l'ora 24.00
    in quanto non esiste


    Saluti

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    17
    grazie per la risposta........ ma per il resto posso contare su un tuo ulteriore aiuto?
    intendo dire per la somma delle ore programmate come posso fare ? magari selezionando un singolo mezzo?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    17


  5. #5
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    __ Si ___ Ma dovresti dirci qualcosa di piu.

    ____Il nome delle tabelle
    _______Il nome dei campi __ Il formato dei dati


    Qualche record di esempio delle tabelle che hai

    Un esempio di quello che vuoi otenete da quelle tabelle

    La versione di Access che usi



  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    17
    grazie nman, dunque
    ho una tabella impiego dove dentro ho il campo mezzi (dove sono riportati i mezzi),
    il campo DataImpiego, il campo ProgrammatoInizio (orario di inizio impiego programmato),
    il campo Programmato fine(orario di fine impiego programmato), poi c'è
    il campo Programmato nel quale c'è la differenza tra ProgrammatoFine - Programmato inizio, in formato idoneo, per avere la somma superiore alle 24 ore.
    io vorrei per esempio selezionare il mezzo fiat500 e sapere quante ore di Programmato ha fatto, in un determinato periodo.
    immagino di dover fare una queri in base a maschera dove fare
    Like [digita mezzo] nel campo mezzi; (per selezionare il mezzo)
    between [da] and [a] (per trovare il periodo di imipiego da calcolare)
    e poi non saprei che funzione usare per fare la somma di Programmato.
    la versione di Access è 2010.
    spero di essere stato chiaro.
    e grazie anticipate




  7. #7
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Scusami se ti rispondo con altre domande.
    Provo a riepilogarti quello che ho capito poi faro delle osservazioni.
    ___ Il DB è Access 2010
    _____ La tabella si chiama Impiego
    I campi della tabella sono:
    ___ mezzi _____________ testo ( c'è una tabella separata dei mezzi ??? )
    ___ DataImpiego ________ DataOra
    ___ ProgrammatoInizio ___ DataOra
    ___ Programmato fine ____DataOra
    ___ Programmato _______ Numerico ( Campo Calcolato )


    Tu vuoi sapere per ogni mezzo quante ore e stato "Programmato"
    fra 2 date
    che andrai a fissare al momento

    Giusto ???????
    __________________________________________________ ________

    Osservo che:
    1) Non vedo il campo Identificatovo ( contatore o altro )

    2) Dammi conferma se c'è una tabella separata con i mezzi e una
    relazione fra le 2 tabelle

    3) Data Impiego Non ti serve perche in ProgrammatoInizio e
    Programmato fine
    specifichi GIA la DATA e ora di inizio e fine

    4) Programmato è semplicemente la differenza fra fine e inizio
    ma NON deve essere nella tabella bensi lo calcoli successivamente

    5) Anche se soggettivo e superfluo ti chiedo:

    Perche dei nomi cosi lunghi che " mandano insieme gli occhi "
    quando li usi ???

    o almeno se ProgrammatoInizio lo scrivi attaccato
    usa lo stesso criterio anche per Programmato fine

    __________________________________________________ _____




    Se il DB lo hai fatto te ti consiglio di reimpostare la tabella
    secondo dei criteri di "Normalizzazione" in questo Modo:

    ImpID_____Contatore_____Key
    mezzi______Testo ( relazionato con altra tabella dove il mezzo è la Key )
    ProgIni_____DataOra_____
    ProgFin_____DataOra_____

    Questo ti darà una gran mano nei calcoli successivi

    __________________________________________________ ______



    Se invece non puoi modificare il DB confermami almeno che i campi
    ProgrammatoInizio e Programmato fine siano in formato DATAOra

    che proviamo a fare uno "Sgarbuglio" di query
    che senza tenere minimamente conto dei campi
    DataImpiego e Programmato ti da il risultato che cerchi


    la query potrebbe essere questa:
    codice:
    SELECT Impiego.mezzi, Sum(Round((([Impiego]![Programmato fine]-[Impiego]![ProgrammatoInizio])*24),2)) AS TotPr
    FROM Impiego
    GROUP BY Impiego.mezzi, Impiego.ProgrammatoInizio
    HAVING (((Impiego.ProgrammatoInizio) Between [Da DataOra] And [A DataOra]));


    _____ Fammi sapere_____

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    17
    ahahah..... sgarbuglio è carino......... devi perdonarmi ma sono un quasi novellino di access
    dunque la tabella è unica e non è correlata con altre ed ha il campo contatore l'Id
    inoltre il formato dei campi ProgrammatoInizio e ProgrammatoFine è Data ora
    grazie per avermi risposto e dato i consigli provo a fare come hai detto tu e ti faccio sapere, sei sempre molto gentile
    Grazie ancora molte

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.