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

    selezionare in campo db date

    ho un altro problema!!!

    ho una tabella in access con un campo data per il quale ci sono tutta una serie di record che contengono le date da 01/01/2006 a 31/12/2010
    la interrogo con la seguente stringa

    set rs=conn.execute("select * from calendario where data > '01/01/2006' and data < '31/12/2006' ")
    ma ottengo il seguente errore

    Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

    [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

    /admin/gestione_periodi.asp, line 17


    se invece tolgo gli apici che racchiudono le due date non mi viene restituito alcun record
    come posso fare???

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Al posto dell'apice devi usare #
    Il db tratta le date all'inglese però: mm/dd/yyyy
    Quindi ti consiglio di memorizzarle nel formato ISO: yyy-mm-dd. In questo modo le riconoscerà sempre.

    Roby

  3. #3
    ok, funziona !!

    ora però ho ancora un problema (non finiscono mai!!)

    vorrei fare una cosa del genere ma non mi funziona
    todaydate="2006"
    mesi1(1)="01"
    mesi1(2)="02"
    campo1="01/"&mesi1(1)&"/"&todaydate
    campo2="01/"&mesi1(2)&"/"&todaydate
    sql=("select * from cal where data >= #"&campo1&"# and data <= #"&campo2&"#")
    rs=conn.execute(sql)

  4. #4

  5. #5
    vorrei poter costruire una data unendo più variabili ed usarla per interrogare il db

    giorno="01/"
    mese="01/"
    anno="2006"

    data= giorno&mese&anno

    rs=conn.execute("select * from tab where date = #"&data&"#")

    ho già provato ma non mi funziona

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma nel db hai cambiato il formato della data come ti ho suggerito?
    E il campo l'hai lasciato data/ora? Impostalo come "testo" a 10 caratteri.
    Nella query a quel punto non servirà più # ma '

    Roby

  7. #7
    come faccio a cambiare il formato delle date inserite nel db?

    ho 16436 record ciascuno con una data da 01/01/2006 a 31/12/2050
    li ho creati con uno script asp
    inserendo le date usando la funzione date()

    for i= 01/01/2006 to 31/12/2050
    a=a+1
    data=dateadd("d,"a,i)
    SQL = "INSERT INTO calendario (data) VALUES ('"& data &"')"
    conn.Execute(sql)


    next

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.