webForumDet fria alternativet

Loopa igenom

7 svar · 148 visningar · startad av anno

annoMedlem sedan nov. 2000196 inlägg
#1

Det jag vill göra är att plocka ut alla poster mellan startDay och endDay och sedan skriva ut hur många det fanns den dagen(i % av de totala) om objRS("Dtm") matchar i.

Är det någon som förstår vad jag vill göra och i så fall hur man gör det.

	set RS = Server.CreateObject("ADODB.Recordset")
	strSQL = "SELECT * FROM tblStat WHERE Dtm >= '" & startDay & "' AND Dtm <= '" & endDay & "'"	 
	RS.Open strSQL, Conn, 1, 2	

	
	
	TotalWeek = objRS.RecordCount  

				For i = startDay to endDay

					set objRS1 = server.CreateObject("ADODB.RecordSet")
					strSQL = "SELECT * FROM tblStat WHERE Dtm >= '" & startDay & "' AND Dtm <= '" & endDay & "'"
					objRS1.Open strSQL, objConn, 1, 2	
									
					TotalDay = objRS1.RecordCount
					intImageHeight = Round((TotalDay/TotalWeek)*100, 0)
			
					If i = objRS("Dtm") then
					%>
					<td height=150 valign=bottom align=center>
						<img src="/graphics/blue.gif" height="<%=intImageHeight%>" width=10 alt="">
					</td>
					<%else%>
					<td height=150 valign=bottom align=center>
						<img src="/graphics/blue.gif" height="" width=10 alt="">
					</td>
					<%End if
				Next

[Redigerat av anno den 13 feb 2002]

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Den här frågan

query = "select dtm,100*(count(*) + 0.0)/(select count(*) + 0.0 from tblStat where Dtm >= '" & startDay & "' AND Dtm <= '" & endDay & "') as perCent from tblStat where Dtm >= '" & startDay & "' AND Dtm <= '" & endDay & "' group by dtm"

borde ge antalet poster per dag uttryckt i % av totala antalet poster under hela perioden

------------------
essentitia preter non sans multiplicandum

annoMedlem sedan nov. 2000196 inlägg
#3

Jag får inte ut någonting men det finns sju poster som ligger mellan startDay och endDay. Vad kan vara fel?

------------------
/anno

annoMedlem sedan nov. 2000196 inlägg
#4

Nu fungerade det...

En annan fråga, jag vill loopa ut procenten för varje dag där i = objRS("Dtm"), hur gör jag för att flytta mig i recordsetet. Som det är nu så får jag bara ut procenten för första dagen.

------------------
/anno

LarsGMedlem sedan dec. 200012 465 inlägg
#5

En vanlig loop

while not rs.eof
'display data
rs.movenext
wend

------------------
essentitia preter non sans multiplicandum

annoMedlem sedan nov. 2000196 inlägg
#6

Var ska jag lägga in den för att få till det med min for-loop?

------------------
/anno

LarsGMedlem sedan dec. 200012 465 inlägg
#7

Det blir nog lite mer komplicerat än vad jag lät påskina. I och med att frågan inte returnerar något för de dagar där det inte finns några poster så måste man ta hänsyn till detta i loopen

query = "select dtm,100*(count(*) + 0.0)/(select count(*) + 0.0 from tblStat where Dtm >= '" & startDay & "' AND Dtm <= '" & endDay & "') as perCent from tblStat where Dtm >= '" & startDay & "' AND Dtm <= '" & endDay & "' group by dtm"

set rs = conn.execute(query)

for i = startDate to endDate
    intImageHeight = 0
    if not rs.eof then
       if cdate(rs("dtm")) = i then
       intImageHeight = rs("percent")
       rs.movenext
       end if
    end if
'display data
next

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 13 feb 2002]

annoMedlem sedan nov. 2000196 inlägg
#8

Så där ja, det blev precis som jag ville ha det, tack för hjälpen.

------------------
/anno

Genererad på 377 ms · cache AV · v20260730165559-full.f96bc7eb