Query con date

martedì 29 giugno 2010 - 10.47

dbarbieri70 Profilo | Newbie

Buongiorno a tutti,
ho creato una query in Access 2003, che funziona correttamente:

SELECT *
FROM Macchine
WHERE Macchine.stato="on" And data+ora>=#6/21/2010 6:0:0# And data+ora<=#6/21/2010 13:45:0#;

se però sostituisco le date con dei parametri inputabili da utente non funziona:

WHERE Macchine.stato="on" And data+ora>=[Dal] And data+ora<=[Al];

questa mi restituisce sempre un insieme vuoto. Da VBA, usando openrecordset, funziona benissimo.
Sapresti dirmi dove sbaglio ?
Grazie

TOPOAMORE Profilo | Expert

>Buongiorno a tutti,

Ciao

>ho creato una query in Access 2003, che funziona correttamente:
>
>SELECT *
>FROM Macchine
>WHERE Macchine.stato="on" And data+ora>=#6/21/2010 6:0:0#
>And data+ora<=#6/21/2010 13:45:0#;
>
>se però sostituisco le date con dei parametri inputabili da utente
>non funziona:
>
>WHERE Macchine.stato="on" And data+ora>=[Dal] And data+ora<=[Al];

Prima di tutto [Dal] e [Al] sono parametri di tipo data cioe impostati come tipo data???
se non fosse cosi prova ad anteporre e postporre al valore dell'utente il simbolo #
>
>questa mi restituisce sempre un insieme vuoto. Da VBA, usando
>openrecordset, funziona benissimo.
>Sapresti dirmi dove sbaglio ?
>Grazie

__.__.__.__.__.__

ASP 2.0 - VB 2008

dbarbieri70 Profilo | Newbie

>Prima di tutto [Dal] e [Al] sono parametri di tipo data cioe
>impostati come tipo data???

non saprei... come si fa? io ho scritto la query così come è direttamente nella finestra sql di access

>se non fosse cosi prova ad anteporre e postporre al valore dell'utente
>il simbolo #

già provato, ma dava errore di sintassi.
Grazie

TOPOAMORE Profilo | Expert

>>Prima di tutto [Dal] e [Al] sono parametri di tipo data cioe
>>impostati come tipo data???
>
>non saprei... come si fa? io ho scritto la query così come è
>direttamente nella finestra sql di access
>

quando passi questi valori hai dei parametri lato codice.Giusto???
bene questi parametri gli hai assegnato un tipo: string integer , date
che tipo sono i due parametri????


>>se non fosse cosi prova ad anteporre e postporre al valore dell'utente
>>il simbolo #
>
>già provato, ma dava errore di sintassi.

Ti dava errore di sintassi ma tu li richiudevi tra apici???
cioe : '#28/06/2010#'

>Grazie

__.__.__.__.__.__

ASP 2.0 - VB 2008

dbarbieri70 Profilo | Newbie

>quando passi questi valori hai dei parametri lato codice.Giusto???
>bene questi parametri gli hai assegnato un tipo: string integer
>, date
>che tipo sono i due parametri????

>Ti dava errore di sintassi ma tu li richiudevi tra apici???
>cioe : '#28/06/2010#'

Mi dà errore di sintassi questa condizione:

WHERE Macchine.stato="on" And data+ora>=#[DAL]#

ma non questa:

WHERE Macchine.stato="on" And data+ora>=#21/6/2010 8.00#;

(senza apici, cmq) solo che io vorrei che fosse l'utente ad inserire data e ora (come tento di fare con la seconda espressione).
Per eseguire questa query non uso codice VBA.

Grazie

dbarbieri70 Profilo | Newbie

Ho risolto in questo modo:

PARAMETERS [Dal] DateTime, [Al] DateTime;

e poi

WHERE (Macchine.stato="on") And (data+ora>=[Dal] And data+ora<=[Al])

come suggerito da te e spiegato dall'ottimo Benaglia
Credo che anche con BETWEEN possa funzionare...
Grazie
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5