Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Date e confronti

  1. #1

    Date e confronti

    Dunque ho un campo Data nel Database ....poi ho 2 date (fisse), data1 e data2 ...vorrei pescare solo i record che sono < di data1 e > di data2 ...come si fa la select :rollo:

    il Database è access, le date sono gg/mm/anno

  2. #2
    UNA COSA TIPO:

    select * from Report WHERE start <= #" & data1 & "# and end>= #" & data2 & "#" ...la provo ma non è giusta

  3. #3
    SELECT * FROM report WHERE Datevalue(start) <= Datevalue('" & data1 & "') AND Datevalue(end)>= Datevalue('" & data2 & "')"
    san imente saluta

    * http://simonecingano.it *

  4. #4
    <%
    Dim Mese, inizio, fine
    Mese = request.querystring("mese")

    set Mesi = Server.CreateObject("ADODB.Recordset")
    sql = "select * from Mesi where identifica_mese =" &Mesi
    Mesi.ActiveConnection = cn
    Mesi.Open sql, cn

    inizio = Mesi("inizio")
    fine = Mesi("fine")

    Mesi.close()
    Set Mesi = nothing
    %>


    <%
    set Report = Server.CreateObject("ADODB.Recordset")
    sql = "SELECT * FROM report WHERE Datevalue(start) <= Datevalue('" & inizio & "') AND Datevalue(end)>= Datevalue('" & fine & "')"
    Report.ActiveConnection = cn
    Report.Open sql, cn
    %>




    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
    [Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 2.




    cosa c...o manca o meglio...zzo sbaglio?

    Nella tabella Mesi ho "INIZIO" e "FINE" che in un campo (data in cifre di access) DICONO QUANDO IL MESE INIZIA E QUANDO FINISCE,

    Nella tabella report ho il campo "DATA" di quando il report viene inserito, (sempre data in cifre) ...VORREI PESCARE TUTTI I RECORD CHE sono contenuti nel mese selezionato

  5. #5
    codice:
     	<%
    Dim Mese, inizio, fine
    Mese = request.querystring("mese")
    
    set Mesi = Server.CreateObject("ADODB.Recordset")
    sql = "select * from Mesi where identifica_mese =" &Mesi
    Mesi.ActiveConnection = cn
    Mesi.Open sql, cn
    
    inizio = CStr(Mesi("inizio"))
    fine = CStr(Mesi("fine"))
    
    Mesi.close()
    Set Mesi = nothing
    %>
    
    
    <%
    set Report = Server.CreateObject("ADODB.Recordset")
    sql = "SELECT * FROM report WHERE start <= Datevalue('" & inizio & "') AND end >= Datevalue('" & fine & "')"
    Report.ActiveConnection = cn
    Report.Open sql, cn
    %>
    questo funziona se tu mi assicuri che START e END sono campi tipo DATE (quindi data)...

    se ancora ci sono dei problemi...
    metti prima di REPORT.OPEN queste due linee

    response.write SQL
    response.end

    e vediamo cosa esce di output
    san imente saluta

    * http://simonecingano.it *

  6. #6
    Report.Open sql, cn, 3,3?

  7. #7
    eh eh eh...
    mi sa che hai ragione

    mannaggina a voi che non date mai linea dell'errore...

    san imente saluta

    * http://simonecingano.it *

  8. #8
    Io start e end non li ho come campi del db ma ho

    Tabella Mesi:
    inizio (campo data)
    fine (campo data)

    Tabella Report
    Data (campo data)

    VORREI FARE UN CONFRONTO ovvero dire da dove inizia il mese e dove finisce con i campi "inizio" e "fine" per poi pescare nella tabella Report solo i record dove il campo "data" rientra tra l'inizio e la fine.

    ora la pagina è:

    <%
    Dim M, inizio, fine, mese
    M = request.querystring("mese")
    set Mesi = Server.CreateObject("ADODB.Recordset")
    sql = "select * from Mesi where identifica_mese =" &M
    Mesi.ActiveConnection = cn
    Mesi.Open sql, cn

    inizio = CStr(Mesi("inizio"))
    fine = CStr(Mesi("fine"))


    Mesi.close()
    Set Mesi = nothing
    %>
    <%
    set Report = Server.CreateObject("ADODB.Recordset")
    sql = "SELECT * FROM Report WHERE Data <= Datevalue('" & inizio & "') Data end >= Datevalue('" & fine & "')"

    Report.ActiveConnection = cn
    Report.Open sql, cn
    %>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="50%" align="center" class="rosso">Elenco Report:</td>
    <td width="50%" align="center" class="rosso">Elenco Spese:</td>
    </tr>
    <%do while not Report.EOF%>
    <tr>
    <td width="50%"><%=Report("Titolo")%></td>
    <td width="50%">g</td>
    </tr>
    <%
    Report.movenext
    loop
    Report.close()
    Set Report = nothing
    %>
    </table>



    e l'errore è :......

    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi (operatore mancante) nell'espressione della query 'Data <= Datevalue('01/12/2005') Data end >= Datevalue('31/12/2005')'.

  9. #9
    Non è che per caso Data è una parola chiave?

  10. #10
    oddio...

    se ci mettessi un minimo di attenzione

    nella query non hai messo AND
    san imente saluta

    * http://simonecingano.it *

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.