7 messaggi dal 13 giugno 2006
Ciao,
volevo fare un interrogazione
nella quale l'utente inserisce le date in cui vuole partire
(data Partenza e Ritorno),
e ke quindi la pagina asp visualizzi le vacanze disponibili all'interno di quelle date.

Sarebbe semplice, se non fosse per il fatto che il caso vuole ke scrivendo il minoreuguale <= io credo che il compilatore pensi ke sia un'istruzione e ke quindi manchi la fine(chiusura)

where (..cerniere..)
datapartenza >="& Request.Form("datapartenza") AND dataritorno <="& Request.Form("dataritorno")


come posso fare?
Modificato da Luca2 il 13 giugno 2006 21.58 -
501 messaggi dal 09 giugno 2006
Contributi
Ciao.
Se quanto hai scritto riporta il tuo codice alla lettere mi sembra che manchi qualche virgoletta.

Prima di:
AND dataritorno

ci va:
& "AND dataritorno

"<=" non rappresenta un tag per il compilatore ASP (semmai "<%=").

Buon lavoro.

.:. Marcello Rutter .:.
7 messaggi dal 13 giugno 2006
si purtroppo come dicevi non è semplicemente così.....
perchè ora infatti non da errore ma non visualizza nulla perchè il confronto con le date non riesce a farlo con delle semplici ugualianze.
Come database uso ACCESS., avevo trovato qualcosa per mysql ma io nn utilizzo quello e la sintassi è diversa.
Non conoscevo quel sito, comunque non sono risuito a trovare l'esempio adatto, ho trovato FormatDateTime(dtmCreated, bLongDate)
ma nell'esempio non so come utilizzarlo e magari non è quello che cerco.
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

La soluzione è più semplice di quanto non possa sembrare. Proviamo questo primo approccio (assumendo che il tuo server sia configurato per l'italiano) se non va bene ci risentiamo nel forum.

La stringa SQL da comporre dovrebbe avere il seguente formato:
datapartenza >= #gg/mm/aaaa# AND dataritorno <= #gg/mm/aaaa#

Al posto di gg/mm/aaaa devi scrivere le tue date (rispettivamente Request.Form("datapartenza") e Request.Form("dataritorno")) formattandole nel formato indicato (giorno/mese/anno con il numero di cifre corretto).

Il problema, a questo punto, è che in ASP non hai la posibilità di formattare le date secondo un modello in quanto il comando VB "Format" non è disponibile. In questi casi molti programmatori ricorrono a propri oggetti COM sviluppati in VB6 che mappano queste funzioni. In alternativa ti puoi scrivere la tua funzione di formattazione in VBScript per ASP. Ecco un banale esempio neanche tanto ottimizzato:

Function GetFormattedDate(strDate)

Dim strYear
Dim strMonth
Dim strDay

If IsDate(strDate) = True Then
'Ottengo giorno/mese/anno
strDay = Trim(Day(strDate))
strMonth = Trim(Month(strDate))
strYear = Trim(Year(strDate))

'Aggiungo gli zeri richiesti
strDay = Right("00" & strDay, 2)
strMonth = Right("00" & strMonth, 2)
strYear = Right("0000" & strYear, 4)

' Sistema Europero "EU". Se il server utilizza il sistema Americano modificare in "US"
Select Case "EU"
Case "EU"
GetFormattedDate = strDay & "/" & strMonth & "/" & strYear
Case "US"
GetFormattedDate = strMonth & "/" & strDay & "/" & strYear
End Select

Else
'L'argomento passato non è una data valida
GetFormattedDate = ""
End If

End Function



Buon divertimento.

.:. Marcello Rutter .:.

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.