Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Query e data corrente

  1. #1

    Query e data corrente

    Salve a tutti.
    Come sempre premetto che le mie sono conoscenze da autodidatta e per questo lacunose nelle basi.
    Il mio problema è questo:
    Ho un database access e sto costruendo un sistema di gestione dati di un campionato di calcio. Vorrei richiamare da una tabella le ultime tre partite disputate e le tre successive di un campionato. In pratica la stringa dovrebbe chiedere le ultime tre "data_partita" e le prossime "data_partita" basandosi sulla data corrente.
    La stringa che sto cercando di sistemare (secondo la mia logica imperfetta) parte da qui


    oggi = Date()
    SELECT TOP 3 * FROM tPartite WHERE Data_Partita < (oggi?????) ORDER BY Data_Partita"
    Set objRS = Server.CreateObject("ADODB.Recordset")


    Mi scuso e ringrazio tutti voi anticipatamente

  2. #2

  3. #3
    Questa è la parte incriminata che non riesco a far funzionare

    oggi = Date()
    strSQL="SELECT TOP 3 * FROM tPartite WHERE Data_Partita <(date) ORDER BY Data_Partita"
    objRS.Open strSQL, objConn, adOpenKeyset, adLockPessimistic, adCmdText
    IF NOT objRS.EOF THEN
    %>

    questo è l'errore

    Microsoft JET Database Engine error '80040e10'

    No value given for one or more required parameters.

    /content/campionato/test_calendario.asp, line 55

    la linea 55 è questa objRS.Open strSQL, objConn, adOpenKeyset, adLockPessimistic, adCmdText

  4. #4
    scrivi oggi=date() ma poi oggi non lo adoperi nella query...

  5. #5
    Perdonami, oltre voler risolvere un problema a me interessa anche capire!

    Se io tolgo dalla query la data come faccio a estrapolare dai campi "Data_Partita" le date inferiori a quella corrente?

    oggi = Date()
    strSQL="SELECT TOP 3 * FROM tPartite WHERE Data_Partita <???? ORDER BY Data_Partita"
    objRS.Open strSQL, objConn, adOpenKeyset, adLockPessimistic, adCmdText
    IF NOT objRS.EOF THEN
    %>

  6. #6
    prova così:

    strSQL="SELECT TOP 3 * FROM tPartite WHERE Data_Partita <"& oggi & " ORDER BY Data_Partita"

  7. #7
    Dunque
    Adesso non mi da nessun errore.
    Quindi lo script è corretto.
    Solo che adesso mi dice "Nessuna partita trovata"
    Premesso che ci sono altre 26 gare precedenti alla data odierna mi viene da pensare che la ricerca top 3 abbia cercato le gare di ieri, l'altro ieri etc (?????) o no???

  8. #8
    prova con

    strSQL="SELECT TOP 3 * FROM tPartite WHERE Data_Partita <#"& oggi & "# ORDER BY Data_Partita"

    spero che data_partita sia un campo data

  9. #9
    Certamente Si! è un campo data/ora e la tua stringa FUNZIONAAAAAAA
    bisogna solo aggiungere Desc
    Ti ringrazio!

  10. #10
    Siccome sono il primo ad aver usufrito tanto da questo fantastico FORUM riporto la parte dello script che potrà magari aiutare altri a risolvere il medesimo problema

    <%

    oggi=Date()
    strSQL="SELECT TOP 3 * FROM tabella WHERE nomecampo <#"& oggi & "# ORDER BY nomecampo desc"
    ' Apri il Database
    objRS.Open strSQL, objConn, adOpenKeyset, adLockPessimistic, adCmdText
    IF NOT objRS.EOF THEN
    %>


    :quote: :quote:

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.