CatZMedlem sedan jan. 20022 440 inlägg Dim i, j, plac
plac = 1
Response.Write "<table width='100%' border='0' cellpadding='3' cellspacing='0' class='table'>" _
& "<tr class='td1'>" _
& "<td>Plac.</td>" _
& "<td>Lag</td>"
j = 1
For i = 1 to AntalOmg()
Response.WRite "<td>Omg " & j & "</td>"
j = j + 1
Next
Response.Write "<td>VP</td>" _
& "</tr>"
Do While Not objRS.EOF
'
'Samlar Information här och placerar dem i variabler
'
Response.Write "<tr class='td2'>" _
& "<td>" & plac & "</td>" _
& "<td>" & Klubb & "</td>"
[b] If HemmaID = LagID Then
Response.Write "<td>" & HemmaVP & "</td>"
Else
Response.Write "<td>" & BortaVP & "</td>"
End If[/b]
plac = plac + 1
objRS.MoveNext
Loop
Den koden i fet stil skriver bara HemmaVP eller BortaVP en gång hur ska jag göra för att få det att fungera ? så att det skrivs för varje gång det finns ett värde i antingen HemmaVP el BortaVP ?
h0lgerMedlem sedan nov. 2002105 inlägg Ser inget rs.MoveNext endast objRS.MoveNext
CatZMedlem sedan jan. 20022 440 inlägg Det är inget fel på koden, bara det att inte If HemmaID osv skriver ut mer än ett värde, hur ska man lösa en sådan sak ?
h0lgerMedlem sedan nov. 2002105 inlägg if HemmaVP <> "" then
varLocation = HemmaVP
elseif BortaVP <> "" then
varLocation = BortaVP
End If
Response.Write "<td>" & varLocation & "</td>"
CatZMedlem sedan jan. 20022 440 inlägg Försöker med detta men får det inte att fungera riktigt
Dim stromg, strMatchID, strImp, strVP
Do While NOT objRS2.EOF
If objRS2("HemmaID") = LagID Then
strImp = Array(objRS2("HemmaImp"))
Else
strImp = Array(objRS2("BortaImp"))
End If
objRS2.MoveNext
Loop
for i = 1 to UBound(strImp,1)
Response.Write "<td>" & strImp(0) & "</td>"
Next
Det verkar inte som om något sparas i min söta lilla array :l
CatZMedlem sedan jan. 20022 440 inlägg Hmm nu har jag suttit och tragglar hur länge som helst det enklaste vore kanske att samla in alltihop med getrows och sedan sortera på det.
h0lgerMedlem sedan nov. 2002105 inlägg Du måste Redim:a Arrayen för varje varv du gör
Dim stromg, strMatchID, strImp, strVP, lngCount
Redim strImp(0) 'Vet inte om denna raden behövs när jag
'gör Redim Preserve inne i loopen. Pröva!
lngCount = 0
Do While NOT objRS2.EOF
Redim Preserve strImp(lngCount)
If objRS2("HemmaID") = LagID Then
strImp(lngCount) = objRS2("HemmaImp")
Else
strImp(lngCount) = objRS2("BortaImp")
End If
lngCount = lngCount + 1
objRS2.MoveNext
Loop
for i = 0 to UBound(strImp,1)
Response.Write "<td>" & strImp(i) & "</td>"
Next
CatZMedlem sedan jan. 20022 440 inlägg Set objRS2 = dbCom.Execute ("SELECT rImp, rVP, Omgang FROM tblResultat WHERE LagID = " & strLagID & " ")
Dim strImp, strVP
If objRS2.EOF Then
strImp = ""
strVP = "<td>&nbps;</td>"
Else
Do while NOT objRS.EOF
strImp = objRS2("rImp")
strVP = "<td>" & objRS2("rVP") & "</td">
objRS2.MoveNext
Loop
End If
For i = 1 to AntalOmg()
If
Response.Write "<td>" & strVP & "</td>"
Next
Nu har jag strulat till det ordentligt... hur ska jag lösa det hela ?
h0lgerMedlem sedan nov. 2002105 inlägg Do while NOT objRS.EOF
strImp = objRS2("rImp")
strVP = "<td>" & objRS2("rVP") & "</td">
objRS2.MoveNext
För varje "rad" i recordsetet du itererar igenom skriver du över strVP
Gör så här
Set objRS2 = dbCom.Execute ("SELECT rImp, rVP, Omgang FROM tblResultat WHERE LagID = " & strLagID & " ")
Dim strImp, strVP, lngCount, aryOmg
redim aryOmg(0,0)
lngCount = 0
If objRS2.EOF Then
strImp = ""
strVP = "<td>&nbps;</td>"
aryOmg(0,0) = strImp
aryOmg(1,0) = strVP
Else
Do while NOT objRS.EOF
redim preserve aryOmg(2, lngCount)
strImp = objRS2("rImp")
srtVP = "<td>" & objRS2("rVP") & "</td">
aryOmg(0,lngCount) = strImp
aryOmg(1,lngCount) = strVP
lngCount = lngCount + 1
objRS2.MoveNext
Loop
End If
For i = 0 to UBound(aryOmg, 2)
strVP = aryOmg(1, i)
Response.Write "<td>" & strVP & "</td>"
Next
Jag tror att detta skall fungera. Har dock inte testat det.
Om du inte tycker att du får rätt svar så skicka med HELA koden och en beskrivning över vad du vill att koden skall göra. :)
h0lgerMedlem sedan nov. 2002105 inlägg Jag lyckas inte få min indentering att fungera ordentligt här på wF därför ser koden konstig ut. :)
CatZMedlem sedan jan. 20022 440 inlägg Det vore iofs enklare om man kunde öppna som AdOpenDynamic... hur gör man det med Server.Execute ? Jag läste tidigare idag att det går med någon sifferkod.
För OM det går kan man placera deklarationen och själva variablen innan loopen, man får då oerhört mycket större böjligheter. Sedan får folk säga vad de vill om god programmering §e
CatZMedlem sedan jan. 20022 440 inlägg tack för hjälpen h0lger!!! Det fungerar faktiskt.............
Kanske ska börja öppna med Open igen, Execute's riktiga prestanda vinst ligger ju i stored procedures när det gäller öppna?
Set objRS2 = dbCom.Execute ("SELECT rImp, rVP, Omgang FROM tblResultat WHERE LagID = " & strLagID & " ")
Dim strVP
For i = 1 to AntalOmg()
If objRS2.EOF Then
strVP = "<td>&nbps;</td>"
Else
strVP = "<td>" & objRS2("rVP") & "</td>"
End If
Next
Do While NOT objRS2.EOF
Response.Write strVP
objRS2.Movenext
Loop
Och helt plötsligt var det lite lättare....
CatZMedlem sedan jan. 20022 440 inlägg Nu är jag där igen.... det är speciellt IF sats-saken som behöver pussas lite på
[red]Dim SQL2, objRS2
SQL2 = " SELECT rVP FROM tblResultat WHERE LagID = " & strLagID & " "
Set objRS2 = dbCom.Execute(SQL2)
Dim strVP[/red]
[blue]Do While NOT objRS2.EOF
If objRS2("rVP") = Empty Then
strVP = "<td>&nbps;</td>"
ElseIf objRS2.EOF Then
strVP = "<td>&nbps;</td>"
Else
strVP = "<td>" & objRS2("rVP") & "</td>"
End If[/blue]
[red] Response.Write strVP
objRS2.MoveNext
Loop[/red]
h0lgerMedlem sedan nov. 2002105 inlägg Denna raden kommer aldrig bli sann
ElseIf objRS2.EOF Then
då Loopen avbryts när objRS.Eof.
Ta bort det villkoret och byt ut detta
If objRS2("rVP") = Empty Then
mot
If objRS2("rVP") = "" Then
Så skall det nog funka