Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    Questa volta le date sono impazzite: '#33/01/2005#'

    Ragazzi sono allibito e non so che cosa pensare... VVoVe:

    da sempre uno script per la registrazione tramite form ad una newsletter ha fatto puntualmente il suo dovere.

    Da qualche ora lo script risponde con:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error in date in query expression '#33/01/2005#'.
    questa è la query:
    codice:
    strsql = "INSERT INTO tbl_login (data_ricevuto, data_verifica)" 
    strsql = strsql & " Values(#" 
    strsql = strsql & data_ricevuto & "#,#"
    strsql = strsql & data_verifica & "#)
    objconn.execute(strsql)
    e così recupero le date:
    codice:
    Data_ricevuto = Mid(DataOggi,7,2) & "/" & Mid(DataOggi,5,2) & "/" & Left(DataOggi,4)
    Data_verifica = (Mid(DataOggi,7,2) + 7 & "/" & Mid(DataOggi,5,2) & "/" & Left(DataOggi,4))
    perchè non funziona più?
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Verifica cosa contenga "DataOggi" e cosa ottieni con la Mid().

    Roby

  3. #3
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Ciao Roby, la funzione dataoggi è questa:
    codice:
    AnnoOggi = Year(Date)
    ' se il mese della data è minore di 10 gli metto davanti uno 0
    if Month(Date) < 10 then
    	MeseOggi = "0" & Month(Date)
    else
    	MeseOggi = Month(Date)
    end if
    ' se il giorno della data è minore di 10 gli metto davanti uno 0
    if Day(Date) < 10 then
    	GiornoOggi = "0" & Day(Date)
    else
    	GiornoOggi = Day(Date)
    end if
    ' trasformo quindi la data di oggi nel formato AAAAMMGG
    DataOggi = AnnoOggi&MeseOggi&GiornoOggi
    questo è invece la verifica delle due date:
    codice:
    response.write Data_ricevuto &"
    "
    26/01/2005
    response.write Data_verifica
    33/01/2005
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Mid(DataOggi,7,2) + 7

    26 + 7 = 33!

    E' giusto... Cosa ne sa lui che a 31 deve passare a febbraio? Non stai mica sommando giorni ad una data!

    Roby

  5. #5
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    scusa Roby non ti seguo...
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Figurati io...

    Qui hai scritto:

    codice:
    Data_verifica = (Mid(DataOggi,7,2) + 7 & "/" & Mid(DataOggi,5,2) & "/" & Left(DataOggi,4))
    Ti rendi conto che fai semplicemente la somma tra due numeri? Cosa pretendi che scriva?


    Roby

  7. #7
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    si quel +7 dovrebbe fissare una data di scadenza rispetto alla data di registrazione... cioè data reg.+7=data scadenza...
    cosa mi consigli?
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Di ragionare. La risposta già te l'ho data.
    Usa DateAdd()

    Roby

  9. #9
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    codice:
    Data_ricevuto = Mid(DataOggi,7,2) & "/" & Mid(DataOggi,5,2) & "/" & Left(DataOggi,4)
    Data_verifica = DATEADD("d",7,data_ricevuto)


    Grazie!
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.