Identificativo articolo: 210604 - Ultima modifica: giovedì 12 ottobre 2006 - Revisione: 4.3 Funzioni per il calcolo e la visualizzazione di valori Data/ora in AccessDifficoltà media: sono richieste conoscenze di base di creazione di
macro, gestione di codice e di interoperabilità.
In questa paginaSommario Dato che un valore Data/ora è memorizzato sotto forma di
numero a precisione doppia, può accadere che si ottengano risultati formattati
in modo errato quando si tenta di manipolare dati Data/ora in un'espressione.
In questo articolo viene descritto come creare espressioni e funzioni
personalizzate per visualizzare date specifiche e per calcolare gli intervalli
di tempo. Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare procedura, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o a creare procedure atte a soddisfare specifiche esigenze. InformazioniVisualizzazione di date specifichePer visualizzare date specifiche, è possibile utilizzare la funzione DateSerial() con cui manipolare le parti di una data relative al giorno, al mese e all'anno. Ad esempio, è possibile utilizzare le espressioni seguenti nella proprietà ControlSource di una casella di testo o nella finestra Immediata per restituire date specifiche:
210249
(http://support.microsoft.com/kb/210249/
)
Visualizzazione dell'anno o del mese fiscale di una data particolare in Access 2000
ATTENZIONE: la procedura riportata in questo esempio comporta la modifica
del database Northwind.mdb. È consigliabile fare una copia di backup del file
Northwind.mdb sulla quale eseguire la procedura.Calcolo degli intervalli di tempoPoiché un valore orario è memorizzato come frazione di un giorno di 24 ore, è possibile che si ottengano risultati formattati non correttamente quando si cerca di aggiungere, sottrarre, moltiplicare o dividere dati orari maggiori di 24 ore.Se ad esempio si cerca di trovare il numero di ore trascorse tra due date sottraendo i valori in Visual Basic, è possibile che si ottenga un numero errato. A dimostrazione di ciò, digitare il codice seguente nella finestra Immediata e notare come viene restituito il valore 05.00 ore piuttosto che il valore corretto 53.00 ore: Per risolvere i problemi causati dai valori orari maggiori di 24 ore, è possibile utilizzare le funzioni Int() e CSng() in Visual Basic per separare un valore orario calcolato in variabili diverse per i giorni, le ore, i minuti e i secondi. Ad esempio, è possibile includere il seguente frammento di codice in una funzione personalizzata per creare variabili di tempo distinte: È possibile utilizzare le variabili totalhours, totalminutes e totalseconds per visualizzare un valore orario come singola unità di tempo. Le variabili dei giorni, delle ore, dei minuti e dei secondi consentono di suddividere un valore orario in porzioni di tempo. Per visualizzare i valori orari in formati diversi, è possibile concatenare le variabili come mostrato nelle seguenti funzioni di esempio:
Funzione di esempio GetElapsedDays()Per creare la funzione GetElapsedDays(), attenersi alla seguente procedura:
Funzione di esempio GetElapsedTime()Per creare la funzione GetElapsedTime(), attenersi alla seguente procedura:
Funzione di esempio GetTimeCardTotal()Per creare la funzione GetTimeCardTotal(), attenersi alla seguente procedura:NOTA: per il codice di esempio riportato in questo articolo viene utilizzato Microsoft Data Access Objects. Affinché il codice funzioni correttamente è necessario fare riferimento alla libreria oggetti di Microsoft DAO 3.6. A questo scopo, scegliere Riferimenti dal menu Strumenti in Visual Basic Editor e assicurarsi che la casella di controllo Libreria oggetti Microsoft DAO 3.6 sia selezionata.
Riferimenti Per ulteriori
informazioni sul calcolo dei valori Data/ora, fare clic sul numero
dell'articolo della Microsoft Knowledge Base riportato di seguito: 210276
(http://support.microsoft.com/kb/210276/
)
Memorizzazione, calcolo e confronto di dati Data/ora in Microsoft Access
Le informazioni in questo articolo si applicano a:
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO. | Traduzione articoli
|
Torna all'inizio
