Newsgroup: it.comp.lang.visual-basic
Titolo: Query SQL su db access

Salve ho un problema con una query...il problema si pone sia usando crystal 
report sia direttamente facendo una query con ado ( o anche in access)
Il db contiene una tabella di nome Ore_op
con questi campi
Cont_op,Cod_cant,Cod_op,Cod_lav,Data_op,Ore_op (il campo Data_op è di tipo 
Data/ora con Data in cifre)
Ora quando cerco di fare la query
Select * From Ore_op where Data_op=22/10/2005 non mi restitituisce 
risultati...
Come devo fare? qual'è il problema?


prova a fare:
Select * From Ore_op where Data_op='#22/10/2005#'
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


Se non hai una data certa ma solo una variabile
"Select * From Ore_op where Data_op= #" & [tuadata] &  "#"
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

 ha scritto nel messaggio 
news:w5C_e.25172$kA.35...@news3.tin.it...


 Come devo fare? qual'è il problema?
Vediamo...
Tu cerchi i record in cui la data_op, convertita in floating, valga il 
risultato della divisione di 22 per 10 e poi per 2005...
Un po' complicato, non ti sembra?
Perchè non confrontare direttamente due date?
Select * From Ore_op where Data_op=#10/22/2005#
Ciao
Alberto
-- 
Ma noi no

 ha scritto nel messaggio 
news:mn.ead07d59f...@hotmail.com...


 Ti ringrazio tantissimo non mi ricordavo di quelle accidenti di #
Non è quello il problema.
Ti suggerisco di leggere un po' di doc sui tipi dei campi, prima di 
proseguire.


 ha scritto nel messaggio 
news:mn.eb0e7d59e...@hotmail.com...


 04/02/1990 se invece voglio cercarlo mi tocca fare 02/04/1990???
Ripeto:
Il tuo problema non è la mancanza dei cancelletti nella query.
E' che hai un caos spaventoso sui tipi (già quando hai detto che "il 
campo Data_op è di tipo Data/ora con Data in cifre" c'era da farsi 
venire i brividi).
Il discorso meriterebbe ben altro spazio che quello di un post. Ma 
esiste parecchia documentazione sui tipi, per cui posso solo dirti di 
fare qualche ricerca.
La tipizzazione non è una caratteristica di Vb o Access (anzi, questi 
due ambienti sono in assoluto fra quelli più blandi quanto a 
tipizzazione), ma è uno dei fondamenti dell'informatica. Studiarli, ti 
servirà sicuramente, in futuro, qualunque ambito informatico tu voglia 
approfondire.


 ha scritto nel messaggio 
news:mn.eb557d59f...@hotmail.com...


 aggiungendo ## nella query sql non va bene...
Perchè il datetimepicker restituisce un DateTime, e *quindi* non ha 
formato.
Quando lo inserisci nella query (e non ho idea di come tu faccia ciò), 
sei *tenuto* ad utilizzare una funzione di conversione da DateTime a 
Stringa.
Se non la utilizzi, Vb usa una funzione di conversione implicita, CStr.
Ma CStr utilizza le impostazioni locali del sistema operativo.
Invece Access vuole che i tipi DateTime siano, nelle query Sql, 
formattati come #mm/dd/yyyy#.
Il problema, è che tu non ti stai rendendo conto dei cambiamenti di 
tipo che fai con le tue operazioni. Non accorgendotene, non espliciti 
le funzioni di conversione. Non esplicitandole, VB usa quelle 
implicite. E non è detto che siano quelle che servono a te.
In sostanza, al fine di evitare problemi, ogni trasformazione di tipo 
(Cast) *DEVE* essere effettuato esplicitando la funzione di 
conversione. Il fatto di esplicitarla anche quando sia un banale CStr, 
al di là di rendere infinitamente più leggibile il codice e più facili 
da individuare i bug, costringe lo sviluppatore a porsi il quesito 
"Quale funzione utilizzo in questo caso?", che porta automaticamente a 
prevenire il 90% dei problemi.
Oppure si può procedere come fai tu, che quando ti dicono "Se è di tipo 
Data/Ora non può avere un formato", rispondi con "non mi ricordavo di 
quelle accidenti di #". Ma con questa strada ci si inchioda ogni 3 
minuti.


 ha scritto nel messaggio 
news:mn.eb7a7d593...@hotmail.com...


 ha scritto nel messaggio
news:433c1619$0$6338$4faf...@reader2.news.tin.it...


 cod= "#" & CDate(#12/2/2005#) & "#" la query funziona...
Si, hai ragione tu.


 ha scritto nel messaggio 
news:433c6d7d$0$15712$4faf...@reader4.news.tin.it...


 No in quella maniera non funziona....
E ci mancherebbe anche...
E' un CDate di un Date, e poi c'è un CStr.
Cioè esattamente tutto alla rovescia di come andrebbe fatto...
Mah...


 ha scritto nel messaggio 
news:mn.1bba7d5a1...@hotmail.com...


 Spero tu non la prenda come una critica...
No, però se dopo 4 giorni che hai un problema (e, consentimelo, è 
veramente una minchiata immane, soprattutto dopo che uno te lo ha 
spiegato), non ti sei andato a guardare le cose che ti avevo detto di 
guardare (se ti dico che una cosa va 'formattata', auspicavo tu volassi 
a guardare come funziona il Format), il problema non è di sintassi, ma 
di metodo.
Tuo, non mio.
Ciao


 ha scritto nel messaggio 
news:mn.1bd37d5a8...@hotmail.com...
