Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118

    Problemi in access........

    Ragazzi ho un problema in access con le date: ho due campi data, poniamo A (inizio lavoro) e B (fine lavoro) , setto un campo C dove prendo la differenza fra A e B e mi da come risultato 0.0188885563 etc. lo riconverto in formato data e ora e mi da 0.20 , quindi esattto (20 minuti). Fin quì.......i problemi arrivano quando su quella query vado a farne un'altra che mi prende la somma di C . Innanzitutyto non mi prende il formato data/ora, non mi prende neanche il formato [hh].[nn] , e se all'origine metto numerico ( quindi 0.0188885563) poi mi fa una somma strana che non c'entra nulla ( 30025,556566566). Oltretutto quest'ultima non è convertibile in data/ora. Consigli? Ciao ragazzi e grazie come sempre.

  2. #2
    Spiegati meglio. Se ho ben capito hai bisogno di una query che ti dica quante ore totali sono state effettuate sommando tutti i record che contengono i due campi A, B e C?

    Fabio.

  3. #3
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    No. C e la differenza fra A e B. Devo sommare solo la differenza.

  4. #4
    Utente di HTML.it L'avatar di Mychy
    Registrato dal
    Oct 2000
    Messaggi
    794
    C è un campo in formato data/ora?
    Forse è un sistema un pò semplicistico, ma prova a settarlo come numerico

  5. #5
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    A e B sono in data/ora certo. Comunque C lo posso settare come voglio hh.nn o nn o num ........il problema è sulla somma.

  6. #6
    provo a risponderti:

    La prima query, Query1 deve essere nel formato

    SELECT Tabella1.A, Tabella1.B, CDbl(CStr(Int(DateDiff("n",[A],[B])/60))+","+CStr(DateDiff("n",[A],[B]) Mod 60)) AS c
    FROM Tabella1;

    In modo che C ti restituisca il numero di ore e minuti che passano tra due date

    LA seconda, Query2 è:

    SELECT Sum(Query1.c) AS SommaDic
    FROM Query1;

    Credo che questo è il risultato di cui hai bisogno.

  7. #7
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Ottimo.....ottimo....ci siamo quasi. Ti spiego: la differenza fra la data di inizio e la data di fine è di 10 minuti per 6672 volte ( devo calcolare il quadrimestre..). Quindi 66720 minuti che diviso per 60 minuti fanno 1112 ore di apertura. Con il calcolo che mi fai tu arrivo ad una somma di 667,20000000 ( questo è il risultato). Ho attuato una formula con (([C]*100)/60) ma mi da un numero sballato. Secondo te, perchè? Grazie mille.

  8. #8
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Risolto! Faccio una query sulla querySUM e lì imposto il campo D ((C*100)/60). E' corretto: mi da 1112 ore. Grazie Mille. A buon rendere.

  9. #9
    Sono contento per te.

    Ciao, Fabio.

  10. #10
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Ed adesso mi hanno domandato un'altra cosa......approfitto della tua cortesia. Io ho un campo A con l'ora inizio , un campo B con l'ora fine, un campo C con la data inizio ed un campo D con la data fine. Ora, le dxate inizio e fine non sempre coincidono, ex:
    A 13.20 B 15.20 C 27/11/02 D 27/11/02
    A 15.10 B 18.30 C 30/11/02 D 04/12/02

    Devo calcolare l'ora che intercorre fra la fine e l'inizio di una riga. Ho provato a fare come prima ma ovviamente non andava. Suggerimenti?

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.