greta.macedonio ha scritto:
Allora io ho questa tabella con questi campi:
TabTurni
Data: venerdí 07 luglio 2017
Mattina: si/no
Pomeriggio: si/no
Notte: si/no
Dalle Ore: 24 ore
Alle Ore: 24 ore
Mi hanno inizialmente consigliato di utilizzare la funzione
Datediff("n";[Dalle Ore],[Alle Ore]) per ricavarmi i minuti ma negli orari a cavallo della mezzanotte non va.
Quindi ho utilizzato l'altra formula... Ma mi esce quella data accanto al risultato esatto delle ore e minuti.
Ora.. Se c'è un modo per togliere quella data dal risultato ben venga... Altrimenti mi serve un altro modo per impostare la formula senza però modificare i campi nella tabella.
Il suggerimento che ti hanno dato è ASSOLUTO e GIUSTO, il problema è che tu non dai le informazioni adeguate e chi ti suggerisce nel darti indicazioni giuste da per scontato tu sappia quello che fai e tu abbia una sufficiente conoscenza.
Ti ho ripetuto 4 volte che per usare il DateDiff devi usare un Campo Formattato correttamente come data, altrimenti non va bene.
I Campi che ti espongo sono definiti in modo ERRATO per operare in modo corretto
Dalle Ore: 24 ore
Alle Ore: 24 ore
Devi definirli come Data normale, lascia perdere la formattazione è solo rappresentazione visiva.
Qualsiasi sitema di controllo Accessi/Ingressi segna la timbratura come gg/mm/aaaa hh:nn:ss
Quindi devi anche capire che poi dovrai effettuare un CALCOLO sulla DIFF tra DataUscita e DataIngresso.
Essendo un Calcolo lo puoi inserire in una Query come calcolato usando DateDiff, oppure se ritieni possa essere utile salvarlo fisicamente, lo calcoli nella Maschera di inserimento e poi lo salvi.
Ovviamente il FieldType, così come il DataType non potranno essere di tipo DATA, ma saranno adeguati all'utilizzo che ne devi fare... per questo ti suggerivo di tenere i MUNITI in quanto è l'unità normalmente significativa per i sistemi di timbratura.
La dove invece devi riportare il Dato a H e Minuti devi entrare nell'ordine delle idee che il valore visualizzato e quello reale sono 2 cose diverse...!
Tu vuoi trattare il dato ore:minuti come un Typo data, ma ti serve solo per la visualizzazione... è estremamente errato tutto il tuo ragionamento.
Solo per te che leggi una stringa di questo tipo "1h:2min" puoi dire che questo sia un dato significativo, in realtà NON LO E', i Database devono avere dati coerenti, quindi un campo Data è come ti dicevo, se invece devi VISUALIZZARE le Ore svolte, le Formatti come Stringa al fine di visualizzarle in modo COMPRENSIBILE, ma le memorizzi come dato UTILE al sistema...