PDA

Visualizza la versione completa : Problemi in access........


diegoctn
24-01-2003, 09:24
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.

fleone
24-01-2003, 09:35
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.

diegoctn
24-01-2003, 09:39
No. C e la differenza fra A e B. Devo sommare solo la differenza.

Mychy
24-01-2003, 10:42
C un campo in formato data/ora?
Forse un sistema un p semplicistico, ma prova a settarlo come numerico

diegoctn
24-01-2003, 10:52
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.

fleone
24-01-2003, 11:05
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.

diegoctn
24-01-2003, 12:04
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.

diegoctn
24-01-2003, 12:22
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.

fleone
24-01-2003, 12:28
Sono contento per te.

Ciao, Fabio.

diegoctn
24-01-2003, 17:04
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?

Loading