Fremtidige datoer - se bort for tomme felter
Jeg skal bruge en liste, med alle rækker fra en db, hvor et bestemt felt har en dato der = i dag eller en større dato (fremtidig dato)Jeg forsøger sådan:
datoStr = Year(Date()) & "-" & Month(Date()) & "-" & Day(Date())
strSQL = "Select * From kalender where tilmelding is not null and CDate(tilmelding_frist) >= #" & datoStr & "# order by dato_start asc"
Det virker som sådan også godt nok, problemet er bare at der kan forekomme rækker i tabellen hvor feltet tilmelding_frist ikke er udfyldt, hvilket giver mig denne fejl:
Microsoft JET Database Engine error '80040e14'
Invalid use of Null
/default.asp, line 421
der er to felter det er bundet op, feltet tilmelding vil indeholde et link - er det felt tomt, er feltet telmelding_frist helt uaktuelt og derfor også tomt. Måske man kan dele det op i to på en måde, således at der først tjekkes om feltet tilmelding ikke er tomt. Er det tomt, skal posten blot springes helt over, er det ikke tomt, skal der kontrolleres for om datoen i tilmelding_frist er lig med eller større end datoen i dag og er den det, skal posten udskrives til skærmen...
<% datoStr = Year(Date()) & "-" & Month(Date()) & "-" & Day(Date())
strSQL = "Select * From kalender where tilmelding is not null and CDate(tilmelding_frist) >= #" & datoStr & "# order by dato_start asc"
Set rs = Conn.Execute(strSQL)
if rs.eof or rs.bof then
response.write "<i>Ingen åbne tilmeldinger i øjeblikket</i>"
else
response.write "<table width=""220"" cellpadding=""0"" cellspacing=""0"" border=""0""><tr><td><b>Arrangement</b></td><td><b>Tilmeldings frist</b></td></tr>"
Do until rs.eof or rs.bof
response.write "<tr><td><a href=""" & rs("tilmelding") & """ target=""_blank"">" & rs("titel") & "</a></td><td>" & rs("tilmelding_frist") & "</td></tr>"
rs.MoveNext
Loop
response.write "</table>"
end if
Set rs = Nothing %>