in pratica in un form di prenotazione dove avviene l'inserimento del giorno di arrivo e quello di partenza, ho inserito questa funzione:

oggi = FormatDateTime(Date,vbGeneralDate)

if arrivo <= oggi then
call(SubOggi_Arrivo)
response.end
end if

in pratica se il giorno prescelto è uguale o inferiore alla giornata odierna dovrebbe dare errore..
Tutto funziona correttamente se lavoro sul mese corrente..ma se dovessi inserire una data di arrivo di altro mese (futuro)..mi visualizza tale errore..

come posso fare...??

Ho cercato di utilizzare la funzione DATE()..

If arrivo <= date()
...
end if

in questo caso non mi da l'errore sopraindicato..ma non mi visualizza tale errore neppure se inserisco una data inferiore alla data odierna!!

Il fatto + strano è che tale controllo funziona perfettamente OFFLINE..
87 messaggi dal 31 luglio 2001
Potrebbe dipendere dalle impostazioni date del server prova a inserire questa breve procedura

'FUNZIONE FORMATTAZIONE DATA
data=Date()
dataformat = Month(data)
dataformat = dataformat & "/" & Day(data)
dataformat = dataformat & "/" & Year(data)

io l'ho creato perchè mi dava un problema simile

Ciao
perdonami..chiariscimi un pochino le idee!!

dovrei inserire la tua funziona la posto di questa riga?

oggi = FormatDateTime(Date,vbGeneralDate)


e come dovrei fare il confronto con la data inserita?

if arrivo <= data then
call(SubOggi_Arrivo)
response.end
end if

così?
87 messaggi dal 31 luglio 2001
oggi=Date()
oggiformat= Month(oggi)
oggiformat = oggiformat & "/" & Day(oggi)
oggiformat = oggiformat & "/" & Year(oggi)

if arrivo <= oggiformat then
....
......

se non ti funziona cosi prova a fare il typecasting prima di fare il confronto...

prima di fare il confronto per fare una verifica metti un response.write sulle variabili
arrivo e data e vedi il valore che hanno, in modo che vedi se la formattazione della data è giusta.

Ciao
no..non va bene..perchè il formato ARRIVO è formato di 10 caratteri: 10/07/2004

invece se inserisco la tua funzione mi restituisce OGGIFORMAT : 7/10/2004


87 messaggi dal 31 luglio 2001
ma mi hai detto che in locale funziona mi posti il codice completo che lo provo io...dove lo vuoi mettere su uno spazio aruba?
no lo spazio è su NATAN.

adesso stò facendo delle prove, nuovamente in locale..ed ho notato..che anche offline nn funziona +..

praticamente da un form di prenotazione ho 2 caselle di testo dove inserisoc le date (arrivo - partenza) nel seguente formato:

gg/mm/aaaa

quando vado a prelevare i valori, faccio i seguenti contolli:

' setto il formato delle date
oggi = FormatDateTime(Date,vbGeneralDate)

Notti = DateDiff("d", Arrivo, Partenza)
Max_Data_Arrivo = DateDiff("d", oggi, Arrivo)
Max_Notti = 365

' Controllo sulle date di arrivo e partenza
If Max_Data_Arrivo > 365 then
call(SubMax_Data_Arrivo)
response.end
end if

If Notti > Max_Notti then
call(SubNotti_Max_Notti)
Response.End
end if

if arrivo < oggi then
call(SubOggi_Arrivo)
response.end
end if

if arrivo = partenza then
call(SubArr_Par)
response.end
end if

if notti < 0 then
call(SubPar_Arr_Par)
response.end
end if

Allora funzionano tutti i controlli , tranne il confronto ARRIVO con OGGI.

Ho notato che se gestisco le date del mese corrente non compare questo errore (logica che se inserisco una data inferiore ad oggi comapre)..
Il problema si pone quando gestisco i mesi successivi..e il problema penso che sia sul NUMERO DEL GIORNO..

questo perchè se il giorno è inferiore ad oggi (es: 18) da errore..senza contare il mese..invece se il NUMERO DEL GIORNO è superiore ad OGGI (es:18) lo script va avanti..
11.886 messaggi dal 09 febbraio 2002
Contributi
chiedo perdono se mi intrufolo...

devi sapere se una data è maggiore di un'altra data? Bene, lavora con le date!
Se trasformi tutto in stringa vai ad imelagarti in problemi che non dovrebbero esserci.

Se la data1 ti proviene da un form, ed è quindi una stringa, prima controlla se è valida con isDate:

data_utente = Request.Form("campo_data")
if isDate(data_utente) then
'....
end if

poi confrontala con oggi facendo:

data_utente = Request.Form("campo_data")
if isDate(data_utente) then
data_utente = Cdate(data_utente)
if data_utente < Date() then
'....
end if
end if

usando Cdate trasformi una stringa nel tipo di dati Data, che è direttamente confrontabile con Date(), Now(), DateAdd(), ecc
ciao
Modificato da BrightSoul il 18 luglio 2004 18.51 -

Enjoy learning and just keep making

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.