Io ho provato cose tipo
select * form xxx where cdata>=#12/10/1999# and cdata<=#21/10/1999#
con questa query ho dei maldìfunzionamenti e spesso fallisce. Ci sto
diventando matto.
Grazie in anticipo e se potete rispondetemi via e-mail a:
gigil...@iol.it
gigi
"SELECT * FROM Tabella WHERE CampoData BETWEEN #12/10/1999# AND
#21/10/1999#"
__ __
<o> <o>
[]
\____/ ......(Statti bene!)
Pasquale Minerva
mine...@libero.it
io ho perso piu' di 1 giorno a combattere con le date di Access lette da
VB6.
Le mie personalissime conclusioni sono state le seguenti:
Tutto funziona perfettamente quando il numero del giorno ed il numero del
mese non sono ...ambigui, cioe' il giorno numero 13 non puo' essere confuso
con il mese numero 13 perche' non esiste.
Ad esempio la data 13/05/1999 e' sicuramente il 13 maggio del 99.
Nel caso di coppia giorno-mese ambigua (data 04/05/1999 considerata per noi
il 4 maggio 1999, ma nel formato americano 5 aprile 1999) VB6 interpreta
questa data nel formato americano, andandoselo a prendere chissa dove
(...forse nelle impostazioni internazionali ??)
...in questo modo si corre il rischio che la tua applicazione possa
funzionare su un PC si e su un PC no, in funzione delle impostazioni
internazionali impostate.
La soluzione che io ho adottato e' la seguente:
Prendi la data e, avendo l'accortezza di aggiungere lo 0 per i giorni e mese
con una sola cifra, la trasformi in stringa oppure Long e la ribalti:
es:
data: 5/11/1999
Long : 19991105
Stringa : "19991105" (N.B. ricorda di aggiungere lo 0)
in questo modo potrai fare tutti i confronti diretti (=) o Between che vuoi
poiche' lavorerai non piu' su tipi DATE ma su tipi STRING o LONG
N.B.
La data va necessariamente ribaltata per dargli il giusto ordinamento,
es:
19991105 e' piu' grande di 19991104, infatti il 5 novembre viene dopo il 4
novembre.
Ciao
Stefano
gigi <gigil...@iol.it> wrote in message
eSGP3.33386$i06.3...@typhoon.libero.it...
> Salve,
> qualcuno di voi sa dirmi come si fa da VB6 una query che estragga da un DB
> access i record che hanno un campo data comreso fra due date diverse?
>
> Io ho provato cose tipo
> select * form xxx where cdata>=#12/10/1999# and cdata<=#21/10/1999#
>
> con questa query ho dei maldìfunzionamenti e spesso fallisce. Ci sto
> diventando matto.
>
Steama <s.a...@eis.it> wrote
> data 04/05/1999 considerata per noi il 4 maggio 1999, ma nel formato
americano 5 aprile 1999) VB6 interpreta questa data nel formato americano,
andandoselo a prendere chissa dove ...in questo modo si corre il rischio che
la tua applicazione possa funzionare su un PC si e su un PC no, in funzione
delle impostazioni internazionali impostate.
> La soluzione che io ho adottato e' Prendi la data e, avendo l'accortezza
di aggiungere lo 0 per i giorni e mese con una sola cifra, la trasformi in
stringa oppure Long e la ribalti: data: 5/11/1999 > Long : 19991105 >
Stringa : "19991105"
> in questo modo potrai fare tutti i confronti diretti (=) o Between che
vuoi poiche' lavorerai non piu' su tipi DATE ma su tipi STRING o LONG
> La data va necessariamente ribaltata per dargli il giusto ordinamento,
> 19991105 e' piu' grande di 19991104,
> gigi <gigil...@iol.it> wrote in message