- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Problema Intervallo date in asp.
-
Problema Intervallo date in asp.
Ciao a tutti e un grosso saluto; sono nuovo del forum e volevo ringraziarvi tutti per l'aiuto che mi potrete dare su questo problema che ho.
il problema è il seguente:
ho una pagina asp dove richiamo con due select dinamiche la persona a cui voglio emettere la fattura e poi ho due campi testo uno chiamato dataInizio e l'altro dataFine dove inserisco l'intervallo di tempo in cui voglio che avvenga la fatturazione e poi passo questi valori ad una seconda pagina in cui li richiamo mediante una query.string e faccio l'interrogazione del db con una select. Però ho il seguente problema: quando visualizzo i dati, non mi da i valori richiesti nell'intervallo specificato ma, me li prende tutti....
vi passo il codice così potete vedere di persona:
fattura.asp:
[Cut]
grazie mille per tutto e a presto
-
hai provato ad eseguire la query in access? (la query con between)
Li ti da i risultati giusti?Se no hai provato a sostiture semplicemente con
data >= #data# AND data <=#
-
grazie per la risposta; no, non ho mai provato a farlo in access perchè non so come si fa. Mi puoi aiutare a farlo?
-
ho provato a modificare come mi hai detto però mi da il seguente errore:
str_sql = "SELECT articolo, Sum(quantita) AS totale1 FROM calcolo_fattura WHERE (data >=#"&dataInizio&"# AND data <= #"&dataFine"&#) AND nome_esercizio= '" &REQUEST("nome_esercizio")& "' GROUP BY articolo"
Tipo di errore:
Errore di compilazione di Microsoft VBScript (0x800A0401)
Prevista fine istruzione
/test/Lavanderia_Rivalta/fattura/pagina1.asp, line 289, column 129
**str_sql = "SELECT articolo, Sum(quantita) AS totale1 FROM calcolo_fattura WHERE (data >=#"&dataInizio&"# AND data <= #"&dataFine"&#) AND nome_esercizio= '" &REQUEST("nome_esercizio")& "' GROUP BY articolo"
**
-
Ciao m_ferraris,
benvenuto su l forum.
Ho editato il tuo post, e ti invito a leggere il regolamento della sezione.Postando tutto il codice e oltre tutto senza usare una giusta formattazione non inviti gli utenti a risponderti.
Posta le linee che danno problemi.
-
- Errore di compilazione = sbagliato qualcosa nell'istruzione; questo:
**... data <= #"&dataFine"&#) AND...**
che dovrebbe essere
**...** data <= #" & dataFine & "#) AND....
Se funzia così, ok, altrimenti subito dopo una query nel codice con il between metti un response.write str_sql, ti ritroverai la query nella pagina HTML (magari senza un cancelletto, non ti preoccupare....;)) incollala in Access e vedi che ti restituisce....
-
non funziona.... mi da sempre intervalli di dati sbagliati
es gli dico: dal 01/10/2007 al 30/10/2007, mi mette anche dei valori del mese 09
-
fai un response.write come ti ha detto hwlab123 e vediamo cosa riporta
-
lo devo mettere così il response?
<% Dim rsReport__MMColParam
rsReport__MMColParam = "1"
If (Request.QueryString("data") <> "") Then
rsReport__MMColParam = Request.QueryString("data")
End If
%>
<%
dataInizio = month(Request.QueryString("dataInizio")) & "/" & day(Request.QueryString("dataInizio")) & "/" & year(Request.QueryString("dataInizio"))
dataFine = month(Request.QueryString("dataFine")) & "/" & day(Request.QueryString("dataFine")) & "/" & year(Request.QueryString("dataFine"))Set Conn=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("../Database/db.mdb")
strConn=strConn & ";pwd=" & strCode
Conn.Open strConn
sql = "SELECT * FROM ddt_finale WHERE (data BETWEEN #"&dataInizio&"# And #"&dataFine&"#) AND nome_esercizio= '" &REQUEST("nome_esercizio")& "' ORDER BY esercizio ASC"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn ,3,3
do while not(rs.eof)response.write str_sql
%>
non mi da nessun valore a video
-
Set Conn=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("../Database/db.mdb")
strConn=strConn & ";pwd=" & strCode
Conn.Open strConn
sql = "SELECT * FROM ddt_finale WHERE (data BETWEEN #"&dataInizio&"# And #"&dataFine&"#) AND nome_esercizio= '" &REQUEST("nome_esercizio")& "' ORDER BY esercizio ASC"
**
Response.write sql
Response.end**Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn ,3,3
do while not(rs.eof)
-
grazie mille, il response mi da la seguente stringa:
[CENTER]SELECT * FROM ddt_finale WHERE (data BETWEEN #10/1/2007# And/30/2007#) AND nome_esercizio= 'I Caffi S.R.L.' ORDER BY esercizio ASC[/CENTER]