Sure. Kolla om det är null (IsNull()) eller om det är tomma strängen (Len() = 0). Ex:
If IsNull(oRec("d_date_1")) Or oRec("d_date_1")) = 0 then
...
End if
------------------
/ Torbjörn Hansson, webbutvecklare
Endero Sverige
7 svar · 263 visningar · startad av webbmannen
Jag samlar uppgifter i en databas och tar sedan ut dem i tabellform efter datum. Mitt problem är att om det inte skrivits in något en viss dag så "finns" ju den dagen inte.
Jag skulle vilja ha en standardfras som skrivs in då detta inträffar. Finns det något kommando typ "Missing" eller nåt?
Kör nu med Do While Not rs.EOF och skulle behöva klämma in något på de dagar som är tomma/inte finns. Går det eller måsta jag fixa det sas. från början?
/webb
Sure. Kolla om det är null (IsNull()) eller om det är tomma strängen (Len() = 0). Ex:
If IsNull(oRec("d_date_1")) Or oRec("d_date_1")) = 0 then
...
End if
------------------
/ Torbjörn Hansson, webbutvecklare
Endero Sverige
Kommer tillbaka till detta eftersom jag inte fått det till att fungera.
I min databas så registreras antal besök med bland annat det datum som var vid besöket. Problemet är att när det inte varit något besök alls en dag så har inget alls registrerats i db. Som jag förstår toha:s inlägg så förutsätter den väl att det finns en post för varje dag - eller?
När jag nu vill att det ska stå noll(0) på de dagar som inga besök förekommit så har jag stött på problem.
Den här koden listar snällt det som finns men lägger inte in något på "tomma" dagar.
Do While Not rs.EOF
Response.Write "<td bgcolor=dfdfdf><font face=verdana,arial size=1>"
Response.Write rs("hpd")
Response.Write "</td></font>"
rs.MoveNext
Loop
Frågan kvarstår alltså - hur gör man?
/webb
------------------
Vem ska du göra glad imorgon?
kan du inte göra något sänt härnt :q
if rs.eof then
response.write "någe e paj!"
end if
Do While Not rs.EOF
Response.Write "<td bgcolor=dfdfdf><font face=verdana,arial size=1>"
Response.Write rs("hpd")
Response.Write "</td></font>"
rs.MoveNext
Loop
mvh,
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
Nej tyvärr, det fick jag inte till att funka.
/webb
------------------
Vem ska du göra glad imorgon?
okay, släng upp hela koden så ska vi kika på 'et!
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
Hela sidan;
<%Response.Buffer = True%>
<html>
<head>
<title></title>
</head>
<body bgcolor=dfdfdf>
<br><br>
<%
Dim monnr, slutdatum, mon
monnr = Request.QueryString("monad")
slutdatum = 31
If monnr = "02" Then slutdatum = 29
If monnr = "04" Or monnr = "06" Or monnr = "09" Or monnr ="11" Then slutdatum = 30
Select Case monnr
Case "01" mon = "Januari"
Case "02" mon = "Februari"
Case "03" mon = "Mars"
Case "04" mon = "April"
Case "05" mon = "Maj"
Case "06" mon = "Juni"
Case "07" mon = "Juli"
Case "08" mon = "Augusti"
Case "09" mon = "September"
Case "10" mon = "Oktober"
Case "11" mon = "November"
Case "12" mon = "December"
End Select
Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\***\***\***\***\statistikdb.mdb"
SQL = "SELECT COUNT( Datum) AS hpd FROM statistik WHERE Datum BETWEEN #"&year(date)&"-"&monnr&"-01# AND #"&year(date)&"-"&monnr&"-"&slutdatum&"# GROUP BY Datum ORDER BY Datum ASC"
rs.Open SQL, Connect
Response.Write "<center>"
Response.Write "<table border=1 bgcolor=#9f002f cellpadding=1>"
Response.Write "<tr><td colspan=31><font face=verdana,arial color=#FFFFFF size=2><center><b>Besök under "&mon&" månad.</b></center></font></td></tr>"
Response.Write "<tr>"
For i = 1 To slutdatum
Response.Write "<td bgcolor=silver><font face=verdana,arial color=#FFFFFF size=1>"
Response.Write i
Response.Write "</font></td>"
Next
Response.Write "</tr>"
Response.Write "<tr>"
Do While Not rs.EOF
Response.Write "<td bgcolor=dfdfdf><font face=verdana,arial size=1>"
Response.Write rs("hpd")
Response.Write "</td></font>"
rs.MoveNext
Loop
Response.Write "</tr>"
Response.Write "</table>"
Response.Write "</center>"
Connect.Close
%>
<br><br>
<center>
<form>
<input type="button" value="Stäng" onClick="top.close();">
</form>
</center>
</body>
</html>
Frågan är alltså; hur får jag fram en nolla då det inte finns något registrerat på en dag?
/webb
------------------
Vem ska du göra glad imorgon?
Jag beskriver i text en möjlig lösning.
Använd en variabel som innehåller datum från rs. När du anropat movenext så jämför datumet från föregående post med den nya (Använd funktionen datediff). Om skillnaden är mer än 1 dag så finns det en lucka. Gör en loop där man subtraherar 1 dag (funktionen dateadd) från föregående datum och skriv ut 0:an. Avbryt loopen när föregående datum = datum i RS. Sätt variablen till det nya datumet.
------------------
essentitia preter non sans multiplicandum