30 messaggi dal 31 luglio 2001
Sto cercando di risolvere un problema con le date nell'interrogazione di un database.

Ho il database access che ha il formato data americano (mm/gg/aaaa), mentre le query che passo nella pagina .asp sono con la data nel formato gg/mm/aa.

Ho provato a fare così:

vardatavisita=Request.QueryString("Ultima visita")
vardata="20" & Mid(vardatavisita,7,2)
vardata=Mid(vardatavisita,4,3) & Mid(vardatavisita,1,3) & vardata
fp_sQry="SELECT * FROM ""Storico "" where Nome='" & Replace(Request.QueryString("Nome"),"'","''") & "' and Indirizzo='" & Replace(Request.QueryString("Indirizzo"),"'","''") &"' and [Ultima visita]='" & vardata & "'"
response.Write(vardata)



ma mi da il messaggio di errore:

20Database Results Error
Description: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
Number: -2147217913 (0x80040E07)
Source: Microsoft OLE DB Provider for ODBC Drivers


Da qui si vede che di vardata legge solo il 20. Come faccio a fargli leggere la data nel formato gg/mm/aa?

Ho provato ad inserire al posto di Request.QueryString una data precisa, e l'interrogazione funziona. Penso che il problema sia legato al fatto che il vardata che ho definito non lo veda come stringa. Che fare?

Grazie, ciao

1.605 messaggi dal 06 settembre 2002
ma quando concateni i valori nella variabile vardata non ci metti il caratter "/" per separare giorno mese e anno

prova a farti restituire il valore della variabile per vedere cosa contiene
response.write "|" & vardata & "|"

FORZA LA MAGICA ROMA

FORZA LA MAGICA ROMA
30 messaggi dal 31 luglio 2001
Ho aggiunto la stringa che dici tu, e mi da il seguente messaggio:

|20|Database Results Error
Description: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
Number: -2147217913 (0x80040E07)
Source: Microsoft OLE DB Provider for ODBC Drivers


Per quanto riguarda i "/" non li metto perchè li pesco con il Mid. Ad esempio per la data scritta nel formato 28/04/01 mi aspetto che Mid(vardatavisita,4,3) mi restituisca 04/. E' sbagliato?

se possibile, non mettere spazi nel nome di uno dei valori della querystring

request("ultimavisita") è meglio di request("ultima visita") e funzionerà certamente.

--
Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>
http://store.aspitalia.com/scheda.asp?codice=255
ASP 3 per esempi - il mio libro

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.