HejHej! Problemet är att koden avmarkera markerar poster om det inte är sist. Detta löser du med en Exit Do:Få ut markerade checkboxar mha dubbelloop????
Jag vill skriva ut ett gäng poster med tillhörande checkbox, om posten redan är vald ska checkboxen vara markerad. Då kör jag en dubbellopp för att testa värdena från ena DBtabellen mot värden från en annan. men AgenturRS vill inte stega vidare utan stannar vid sitt första värde. Har nån löst ett sådant problem och har lust att visa sin lösning alternativt kolla i min kod nedan vad som är fel.
mvh Kris
do while not AgenturRS.eof
do while not medlemRS.eof
if medlemRS("ageID")=AgenturRS("ageID") then
selected=" checked"
else
selected=""
end if
medlemRS.moveNext
Loop
kunCheck=kunCheck& "<input type=""checkbox"" name=""ageID"" value=""" &AgenturRS("ageID")&"""" & selected & ">" & VbCrLf
AgenturRS.moveNext
loopSv: Få ut markerade checkboxar mha dubbelloop????
<code>
Do Until AgenturRS.eof
selected=""
medlemRS.MoveFirst
Do Until medlemRS.eof
If medlemRS("ageID") = AgenturRS("ageID") Then
selected=" checked"
Exit Do
End If
medlemRS.moveNext
Loop
kunCheck = kunCheck & "<input type=""checkbox"" name=""ageID"" value=""" & AgenturRS("ageID") & """" & selected & ">" & VbCrLf
AgenturRS.moveNext
Loop
</code>
Detta är ingen effektiv kod. Det är betydligt effektivare att göra kontrollen i SQL frågan:
<code>
Dim strSQL
strSQL = "SELECT Agentur.*, Agentur.ageID IN (SELECT medlem.ageID" & vbCrLF & _
" FROM medlem" & vbCrLF & _
" WHERE 'Ev vilkor') As Selected" & vbCrLF & _
"FROM Agentur"
AgenturRS.Open strSQL, Conn
Do Until AgenturRS.eof
If AgenturRS("Selected") Then
kunCheck = kunCheck & "<input type=""checkbox"" name=""ageID"" value=""" & AgenturRS("ageID") & """ selected >" & "</input>" & VbCrLf
Else
kunCheck = kunCheck & "<input type=""checkbox"" name=""ageID"" value=""" & AgenturRS("ageID") & """>" & "</input>" & VbCrLf
End If
AgenturRS.moveNext
Loop
</code>