Newsgroup: it.comp.software.database
Titolo: problema access

buongiorno a tutti, sono nuovo di questo newsgroup quindi se avete già 
parlato del mio problema non urlatemi dietro :-))
perchè se faccio una query su un db access del tipo
select * from tabella where campodata=#10/10/2006#
non mi da niente??? i record con questa data ci sono!!!

 ha scritto

ti metti avanti coi record, eh? :)
suppongo perche' il campo di tipo data contiene anche l'ora, quindi non c'e' 
nulla che corrisponda *esattamente* a quella data
select * from tabella where day (campodata)=10 and month(campodata)=2 and 
year(campodata)=2006
con la stessa logica, se fai
where campodata between #02/09/2006# and #02/10/2006#
restituisce solo i record del 9 febbraio (maggiori di 9/2/2006/null e minori 
di 10/2/2006/null)
adesso a un record del 9 ho tolto la parte dell'ora, lasciando solo gmy, e 
la query
select * from tabella where campodata = #02/09/2006#
mi restituisce giusto quel record...
ciao, a.
ps: lo so che e' una schifezza, ma per semplificarmi la vita quando poi sono 
per il collo (devo anche usarlo, il db), dato che nel campo data l'ora 
esatta mi serve, quando metto un record giro anche la data in un campo 
stringa yyyy-mm-dd...

 campo stringa yyyy-mm-dd...
ah,usando le stringhe quindi poi quando faccio la query basta ke faccio
"select * from tabella where data=' 
"&year(data)&"-"&month(data)&"-"&day(data)&" ' "

ah quello di prima ero io, avevo cambiato il nome..... 

> campo stringa yyyy-mm-dd...
Sě, č una schifezza, ma ahimé l'ho visto usare in ambienti molto "seri" :-(
Alex.

 :-(
stai dicendo che io sono molto *poco* serio? :)
ciao, a.

>
giuro che una roba del genere non l'avevoi mai vista....adesso va.....
ma è una proprietà solo di access o c'è anche negli altri db??

 ma è una proprietà solo di access o c'è anche negli altri db?
il tipo di dato DateTime c'è anche negli altri Db, poi magari è memorizzato
diversamente.
Access lo memorizza come un numero a doppia precisione, qui trovi maggiori
dettagli
----
Memorizzazione, calcolo e confronto di dati Data/ora in Microsoft Access
http://support.microsoft.com/kb/210276
----
dove viene suggerito di usare la funzione INT per rimuovere la parte
frazionaria, ovvero l'ora.
Ciao
-- 
Giorgio Rancati
[Office Access MVP]

 dettagli
io intendevo dire se le clausole year(campodata), day(campodata)... sono 
solo di access

 ma č una proprietą solo di access o c'č anche negli altri db??
non saprei. l'usavo (o equivalente: le funioni y, m, d sono dappertutto) in 
cobol circa, ahime', 20 anni fa, e a quella mi attengo. mai perso un colpo 
:)
ciao, a.

 solo di access
no, ci sono anche in altri Db, ad esempio, ms Sql Server.


 no, ci sono anche in altri Db, ad esempio, ms Sql Server.
io di solito uso o mysql o postgre, ma non sapevo che ci fossero(non sono 
espertissimo)... li faccio direttamente campodata='10/10/2005' 

li faccio direttamente campodata='10/10/2005'
e nel caso che il campo contenga anche la parte ora si verifica
l'uguaglianza ?


> e nel caso che il campo contenga anche la parte ora si verifica
 li scelgo il tipo di dato
in mysql x esempio c'è time che contiene solo l'ora
date che contiene solo la data e datetime(fantasia :-) ) che contiene sia la 
data che l'ora
quindi non ci sono problemi li, invece con access ne ho avui parecchi fiono 
ad ora, non solo per quanto riguarda l'argomento di questi post. 

 ad ora, non solo per quanto riguarda l'argomento di questi post.
si tratta solo di conoscerlo, sicuramente all'inizio avrei anche io molti
problemi con MySql
:-)


 :-)
in effetti anche io con mysql all'inizio ho avuto qualche problemino.
fortuna che adesso almeno so dove girarmi...