Access - VBA e le Date

google-plus Scritto da . Postato in Access

Access - Manipolazione delle Date in VBA

Chi manipola il dato è JET: Da qui la difficoltà nella sostanziale diversità tra Access e JET. Access lavora in modo visuale di interpretazione mentre JET in accezione anglosassone.

Vediamo degli esempi con le possibili soluzioni di come includere la data, prelevata da un campo nella form, per includerla in una query all'interno del codice VBA di un ipotetico progetto.
Le soluzioni possibili qui mostrate sono 4 (si accettano ulteriori suggerimenti). Valutiamone pro e contro:

soluzione 1: Si impone al valutatore di espressioni di JET di convertire il riferimento implicito [Forms!FormEsempio!ControlloData] per renderne esplicito il valore. JET interpreta quindi autonomamente la data imponendo quello che serve per riconoscerla in modo corretto.
Il riferimento è inserito all'interno della stringa SQL!
Difetto del codice: non è PORTABILE e riconoscibile solo ed esclusivamente da JET.

"SELECT * FROM tbl_esempio WHERE Data = Forms!FormEsempio!ControlloData"

soluzione 2: Il campo data viene convertito in una stringa con la funzione di conversione CDate.
Anche questo codice, non è portabile.

"SELECT * FROM tbl_esempio WHERE [Data]=’" & CDate(Forms!FormEsempio!ControlloData) & “’”

soluzione 3: Converto esternamente alla stringa SQL il valore. Successivamente, perché JET lo interpreti senza condizionarlo, applico la formattazione in accezione anglosassone con l’apposizione dei cancelletti #dd/mm/yyyy#. Ottimizzabile in caso di Porting.

"SELECT * FROM tbl_esempio WHERE Data = #" & Format(Forms!NomeForm!ControlloData,"dd/mm/yyyy") & "#"

soluzione 4: Forse la migliore tra le quattro. Il campo JET salva la data come Double (numerico) nel caso in cui siano presenti anche i dati relativi a ora minuti e secondi (hh:mm:ss) in caso contrario, il dato è interpretato come Long. Si può ovviare al problema in questa maniera:

"SELECT * FROM tbl_esempio WHERE Data = " & str(CDbl(Me!ControlloData))”

vba data conversion


Se hai gradito l'articolo, condividilo, basta un click!

Aggiungi commento


Codice di sicurezza
Aggiorna

  • logo prontopro
  • logo boutique serramento
  • koilab japan and tropical fish farm
  • Trasloco economico - gruppo Arco Traslochi
  • logo flash pulizie
  • logo revolution
  • logo planetkoi small
  • logo finiture
  • ick logo template
  • montaggio mobili trento

Realizzato da: Daniele Gagliardi
Viale Monache 3 - 38062 Arco - TN
- Contattami -

Per essere più facile ed intuitivo, il blog fa uso dei cookie, piccole porzioni di dati che consentono di capire come gli utenti navighino e ne visualizzino le pagine. I cookie non registrano alcuna informazione personale sull'utente ed eventuali dati identificabili non verranno memorizzati.