Hej! Använd olika namn på recordseten Hej! Är kanske ute och cyklar, men prova en inre loop Hej! Gör en koll på rs2 innan loopen startar Hej och tack för svaren har fått det att funka nu med flera rs men har ett problem jag inte kan lösa. När du nu har delat upp det i två frågor Loop med två rs.
Försöker få till någon form av loop på detta men lyckas inte någon som kan tips på nåt.
Nu får jag bara en post vill ha även nästa och näst tills alla namn har gåtts igenom.
<%
Dim sDate
Dim sAvd
sDate ="2014-05-13"
sAvd ="Verkstad"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../../../db/Bokning.mdb") & ";"
Set rs = Conn.Execute ("SELECT Närvaro.Namn FROM Närvaro Where Avd = '" & sAvd & "' Order BY Namn")
Do until rs.EOF
i = 1
sNamn = rs("Namn")
Set rs = Conn.Execute ("SELECT Tider.namn, Sum(Tider.Boktime) As iSum, Närvaro.Per2 as iSum1 FROM Tider LEFT OUTER JOIN Närvaro ON Tider.Namn=Närvaro.Namn Where Tider.datum='" & sDate & "' and Närvaro.Namn = '" & sNamn & "' GROUP BY Tider.Namn, Närvaro.Per2")
Response.Write "<table>"
Response.Write "<tr>"
Response.Write "<td>" & "Namn" & i & ": " & rs("Namn") & "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td>" & "iSum" & i & ": " & rs("iSum") & "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td>" & "iSum1" & i & ": " & rs("iSum1") & "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td>" & "Tid kvar att boka" & i & ": " & rs("iSum1")- rs("iSum") & "</td>"
Response.Write "</tr>"
rs.MoveNext
i=i+1
Loop
Response.Write "</table>"
Conn.CLOSE
SET Conn = NOTHING
%>
/TobbeSv: Loop med två rs.
Set rs2 = Conn.Execute ("SELECT Tider.namn, Sum(Tider.Boktime) As iSum, Närvaro.Per2 as iSum1 FROM Tider LEFT OUTER JOIN Närvaro ON Tider.Namn=Närvaro.Namn Where Tider.datum='" & sDate & "' and Närvaro.Namn = '" & sNamn & "' GROUP BY Tider.Namn, Närvaro.Per2")Sv:Loop med två rs.
Ok två rs med olika namn hur? jag vill från första rs plocka ut alla namn ur fältet NAMN dom namnen som sNamn vill jag loppa igenom i nästa rs men får inte till det, har testat men olika Join men inget bra resultat.
TobbeSv: Loop med två rs.
Set rs2 = Conn.Execute ("SELECT Tider.namn, Sum(Tider.Boktime) As iSum, Närvaro.Per2 as iSum1 FROM Tider LEFT OUTER JOIN Närvaro ON Tider.Namn=Närvaro.Namn Where Tider.datum='" & sDate & "' and Närvaro.Namn = '" & sNamn & "' GROUP BY Tider.Namn, Närvaro.Per2")
Do until rs2.EOF
Response.Write "<table>"
Response.Write "<tr>"
Response.Write "<td>" & "Namn" & i & ": " & sNamn & "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td>" & "iSum" & i & ": " & rs2("iSum") & "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td>" & "iSum1" & i & ": " & rs2("iSum1") & "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td>" & "Tid kvar att boka" & i & ": " & rs2("iSum1")- rs2("iSum") & "</td>"
Response.Write "</tr>"
rs2.MoveNext
Loop
SET rs2 = NOTHINGSv:Loop med två rs.
Tack fick det att funka då jag la Rs.MoveNext och Loop sist.
Men jag får inte med mig alla Namn från sökning i tabellen Närvaro om det inte finns sparade poster i tabellen tider hur kan man lösa det tro.
TobbeSv: Loop med två rs.
Om rs2 är tom skriv ut något lämpligt för det namnetSv:Loop med två rs.
När det inte finns några lagrade värden för Sum(Tider.Boktime) As iSum så vill jag ha ett standard värde 0 men har testat flera olika exempel men får det inte att funka ?
typ ISNULL(Sum(.......), 0) as iSum funkar inte har även testat if rs.("iSUM") = 0 eller "" If rs.recordcount =0 men får helt enkelt inte till det.
Någon som kan hjälpa mig med detta sökning mot Access databas.
/TobbeSv: Loop med två rs.
behöver du väl inte i fråga två blanda in
den första tabellen Närvaro
I den första loopen får du ju ut namn och Per2
Gör sen en fråga mot tabellen tider och hämta ut
alla tider för resp. namn
Kolla om du får något svar och om inte skriv ut noll
<%
Dim sDate
Dim sAvd
Dim siSum1
Dim siSum
sDate ="2014-05-13"
sAvd ="Verkstad"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../../../db/Bokning.mdb") & ";"
Set rs = Conn.Execute ("SELECT Närvaro.Namn,Närvaro.Per2 FROM Närvaro Where Avd = '" & sAvd & "' Order BY Namn")
Do until rs.EOF
i = 1
sNamn = rs("Namn")
siSum1= rs("Per2")
Set rs2 = Conn.Execute ("SELECT Tider.namn, Sum(Tider.Boktime) As iSum FROM Tider Where Tider.datum='" & sDate & "' and Tider.Namn = '" & sNamn & "' GROUP BY Tider.Namn")
if rs2.BOF and rs2.EOF then
siSum = 0
else
siSum = rs2("iSum")
End if
SET rs2 = nothing
Response.Write "<table>"
Response.Write "<tr>"
Response.Write "<td>" & "Namn" & i & ": " & sNamn & "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td>" & "iSum" & i & ": " & siSum & "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td>" & "iSum1" & i & ": " & siSum1 & "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td>" & "Tid kvar att boka" & i & ": " & siSum1- siSum & "</td>"
Response.Write "</tr>"
rs.MoveNext
i=i+1
Loop
Response.Write "</table>"
Conn.CLOSE
SET Conn = NOTHING
%>