Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    trasformare campo data in campo stringa

    Ciao,
    devo confrontare un campo di testo che contiene una data ma considerata come stringa con la data odierna, quindi quello che vorrei fare è trasformare data1 che rapresenta la data odierna
    <%
    Dim data1

    data1 = DateSerial(Year(Now),Month(Now),Day(Now))%>

    in un campo di testo, come posso fare?

    Grazie, Sabry.

  2. #2

  3. #3

    ma con CDate...

    con CDate trasformo una stringa in una data o il contrario?
    Il caso è un pò complicato ma provo a spiegarlo:
    ho un database di prenotazione online che ad un determinato giorno associa un utente prenotato.
    Ho fatto si che la data risultasse una stringa per risolvere alcuni problemi, quindi nel database la data è una stringa.
    Inserendo dei record nuovi con l'access non mi crea alcun problema ne per modificare i dati ne per cancellarli.
    Il problema nasce quando vado a inserire un nuovo record da internet.
    Me lo aggiunge, solo che poi non lo ritrova.
    Se io dico che voglio trovare la data corrispondente al nuovo record inserito, mi risponde che quel record non esiste.
    Praticamente c'è qualche errore di riconoscimento tra date e stringhe.
    quindi io ho una variabile data1:
    <%
    Dim data1

    data1 = DateSerial(Year(Now),Month(Now),Day(Now))%>

    che utilizzo nel seguente form:

    <form method="post" action="verificagiornoa1e.asp">
    <input type="text" name="data"
    value="<%=data1%>" size="10"> <input type="submit" name="submit"
    value="verifica"> </p>
    </form>
    ho provato a fare:

    data2= CStr (data1)
    e poi:

    <form method="post" action="verificagiornoa1e.asp">
    <input type="text" name="data"
    value="<%=data2%>" size="10"> <input type="submit" name="submit"
    value="verifica"> </p>
    </form>

    ma poi in verificagiorno a1e non lo riconosce comunque:
    <%
    data=request.form("data")
    Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
    OBJdbConnection.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("prenotazioni.mdb")
    sql = "SELECT * FROM tblEsamiA1 WHERE DataC LIKE '%"&data&"%'"
    Set RS=OBJdbConnection.Execute(sql)%>


    Dove può stare l'errore?
    Grazie.

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non ho capito come è memeorizzata nel db la data e con cosa la confronti.
    Se non fai un esempio pratico non si capisce nulla.

    Roby

  5. #5

    praticamente ...

    ho un database Access con una tabella TblPrenotaA1 definita cosi
    IDPrenot: contatore contenente un campo numerico
    DataC: campo di testo in cui però inserisco una data tipo 01/01/2005
    fascia1: campo testo in cui inserisco un'utente prenotato dalle 9.00 alle 10.00
    fascia2: ampo testo in cui inserisco un'utente prenotato dalle 10.00 alle 11.00
    e cosi via

    ho due opzioni: aggiornare le date occorenti da Access, oppure da Web.
    Se aggiorno da Access, poi in un'altra pagina dove seleziono una data corrispondente al giorno che voglio visualizzare, mi ritrova il record e me lo mostra.
    Quando invece lo inserisco da Internet, non me lo ritrova.

    l'insersione da Internet viene fatta cosi:
    ho una pagina di inserzione con un form che inserisce i dati nella tabella, tra cui il campo:
    <input type="text" name="DataC" size="15" value="02/05/05">
    Poi quando vado nella pagina di visualizzazione delle prenotazioni già effettuate:
    ho un form del tipo:
    <form method="post"
    action="verificagiornoa1e.asp">
    <input type="text" name="data"
    value="<%=data1%>" size="10<input type="submit" name="submit"
    value="verifica ">

    dove data1 è definito cosi:
    <%
    Dim data1

    data1 = DateSerial(Year(Now),Month(Now),Day(Now))%>
    ma anche se al posto di data1 metto un valore arbitrario tipo "01/01/2005", non mi ritrova il record inserito via Internet.

    Manca qualche indicazione per definire il problema?
    Grazie

  6. #6
    inserisci le date nel db (in formato testo) in questa forma YYYYMMDD. viene tutto molto piu' semplice...

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non capisco perché usi un campo testo per le date (cosa cmq apprezzabile) ma lasci poi la data così com'è senza godere devi vantaggi dati dal diverso ordine dei fattori di cui è composta: YYYYMMDD è preferibile.

    Roby

  8. #8

    scusatemi!!!!!!!!!!!

    ho trovato l'errore: era proprio stupido!
    Quando andavo ad inserire DataC, invece di inserirlo come 01/01/2005 come in Access, lo inserivo come 01/01/05, e sicome non riuscivo a risalire ai dati inseriti, non vedevo in che modo li inseriva.
    Grazie ancora!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.