Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Problemi con la gestione delle date in access
mercoledì 05 marzo 2008 - 15.20
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ham
Profilo
| Newbie
3
messaggi | Data Invio:
mer 5 mar 2008 - 15:20
Ho un grossom problema: In una maschera ho due campi tipo data e devo fare una ricerca entro tali date in una query.
io scrivo:
stlinKcriteria="[dataregistrazione] between #" & [testo26] & "# and #" & [testo27]
dove testo26 e testo 27 sono i miei campi data sulla maschera di ricerca
il problema è che quando testo26 per es. è = "02/01/2008" il filtraggio mi viene come se il mese fosse febbraio e quindi mi elenca tutti i record dal 01/02/2008
invece se testo26 è =" 13/01/2008" mi elenca tutti irecord dal 13/01/2008.
In definitiva se il giorno è piu piccolo di 12 ed il mese è piu piccolo di 12 ( 02/03/2008) mi prende TESTO26 come se fosse una data inglese se invece il giorno è più grande di 12 ( 13/01/2008) si comporta correttamente.
WindowsXP ha il sistema italiano di date cioè (gg/mm/aaaa) .
Aiutatemi che sto impazzendo
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 5 mar 2008 - 15:45
>il problema è che quando testo26 per es. è = "02/01/2008" il
>filtraggio mi viene come se il mese fosse febbraio e quindi mi
>elenca tutti i record dal 01/02/2008
>invece se testo26 è =" 13/01/2008" mi elenca tutti irecord dal
>13/01/2008.
Per evitare qualunque fraintendimento nella gestione delle date, utilizza nelle query SQL il formato americano #MM/DD/YYYY# oppure ISO 'YYYY-MM-DD'.
In alternativa puoi incapsulare le tue query SQL in oggetti Query parametrici che andrai a richiamare lato client utilizzando la classe ADODB.Command oppure OdbcCommand (ADO.NET).
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
ham
Profilo
| Newbie
3
messaggi | Data Invio:
mer 5 mar 2008 - 17:05
scusa, sono un novello in access , ma ho una applicazione solo Access e quindi apro una maschera con il comando:
DoCmd.OpenForm stDocName, , , stLinkCriteria
In cui stlinKcriteria è:
stlinKcriteria="[dataregistrazione] between #" & [testo26] & "# and #" & [testo27]
e mi fa il casino che ti ho descritto
Grazie per l'aiuto
grancati
Profilo
| Newbie
29
messaggi | Data Invio:
mer 5 mar 2008 - 19:10
Ciao,
come già detto da Lorenzo, il formato predefinito delle date nelle query di Access è #MM/DD/YYYY#
quindi
----
stlinKcriteria="[dataregistrazione] between #" & Format([testo26],"mm/dd/yyyy") & "# and #" & Format([testo27],"mm/dd/yyyy") & "#"
----
per comodità puoi delegare la delocalizzazione delle date alla funzione Cdate()
es.
----
stlinKcriteria="[dataregistrazione] between Cdate('" & [testo26] & "') and Cdate('" & [testo27] & "')"
----
Ciao
Giorgio
ham
Profilo
| Newbie
3
messaggi | Data Invio:
gio 6 mar 2008 - 08:28
Grazie a tutti . Adesso funziona a meraviglia.
Ne approfitto:
Come faccio a passare la mia applicazione access ad un computer che non ha access installato ?
E' possibilie far girare una applicazione access su di un mac?
Saluti
grancati
Profilo
| Newbie
29
messaggi | Data Invio:
gio 6 mar 2008 - 18:59
Ciao,
il computer deve avere Access installato o almeno la versione Runtime.
vedi:
Sviluppo di soluzioni con Access 2003 Developer Extensions
http://www.microsoft.com/italy/msdn/prodotti/vstudio/officetools/sviluppo.mspx
Introduzione a Access 2007 Developer Extensions e Runtime
http://office.microsoft.com/it-it/access/HA102188681040.aspx
Ciao
Giorgio
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !