Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    Confronto data più piccola-grande

    Salve,
    ho un problemino devo confrontare tre campi (giorno, mese e anno di tipo numeric) di un database mssql con la data attuale. Se la data nel database è superiore o uguale devo avere una scritta "Iscrizione aperte" altrimenti "Master scaduto".
    Anche se la data è superiore mi compare sempre master scaduto.
    Non capisco dove erro. In queste feste sto perdendo molto smalto.

    <%
    if rs("anno")>Year(date()) then
    response.write "Iscrizioni aperte"
    else if rs("anno")=Year(date()) and rs("mese")>Month(date()) then
    response.write "Iscrizioni aperte"
    else if rs("anno")=Year(date()) and rs("mese")=Month(date()) and rs("giorno")>=Day(date()) then
    response.write "Iscrizioni aperte"%></span>
    <%
    else%>
    <span class="style38"><%response.write "Master scaduto"%></span>
    <%end if
    end if
    end if%>

    Grazie in anticipo

  2. #2
    se ho ben capito, nel record hai tre campi distinti per Giorno, mese e anno: perché non ricostruisci la data nella query e poi fai un semplice confronto tra la data così ottenuta e Date()? (potresti farla addirittura nella query stessa, risprmieresti un sacco di tempo e di codice)

  3. #3
    Ho fatto in questo modo ma non funge:

    <%
    datascad= rs("giorno")+"/"+rs("mese")+"/"+rs("anno")
    datascad=IsDate(datascad)
    if datascad>=Date() then
    response.write "Iscrizioni aperte"%></span>
    <%else%>
    <span class="style38"><%response.write "Master scaduto"%></span>
    <%end if%>

    Dov'è il problema?

  4. #4
    hai fatto in un altro modo, e comunque IsDate ti riporta True/False... forse volevi usare CDate() ?

  5. #5

  6. #6
    usato cdate ma...

    <%
    datascad= rs("giorno")+"/"+rs("mese")+"/"+rs("anno")
    datascad=CDate(datascad)

    if datascad>=Date() then
    response.write "Iscrizioni aperte"%></span>
    <%else%>
    <span class="style38"><%response.write "Master scaduto"%></span>
    <%end if%>

    mi da questo errore

    Microsoft VBScript runtime error '800a005e'

    Invalid use of Null: 'CDate'

    /masteruniversitari/index.asp, line 279


    ma giorno mese e anno sono campi di tipo numeric.. forse è questo il problema?

  7. #7
    probabilmente perché dentro DataScad c'è un null. fattei stampare il valore

  8. #8
    <% dim datascad

    datascad= rs("giorno")+"/"+rs("mese")+"/"+rs("anno")
    response.write datascad

    if datascad>=Date() then
    response.write "Iscrizioni aperte"%></span>
    <%else%>
    <span class="style38"><%response.write "Master scaduto"%></span>
    <%end if%>

    NOn capisco, i campi sono pieni, se faccio un response write per ognuno mi compare.. se invece faccio un response di datascad non mi esce nulla.
    Perché?

  9. #9
    infatti io ti ho detto all'inizio di far fare la costruzione della data alla query

  10. #10
    come dovrei fare?

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.