<code> Funkade inte det heller. Men det jag inte förstår är att den fattar om jag skiver 31 men inte när jag skriver strBildId. Har skrvit ut strBild så jag vet att det är 31 i den. det verkar som om du flummar runt lite med dina variabelnnamn Du får tänka efter. Det du gör ärr att du tömmer din variabewl efter första kontrollen. Försök istället med: OK...här kommer lite till: Var får du BildId ifrån? Vad är koden som skrivs ut i loopen? Som det är nu kommer den ju bara att skriva ut "checked" någonstans. <code> Du måste casta om bildId till en int. Testa med: sataaan! Funkar inte heller. Inget av dem. Måste vara "If objRS("id")=strBildId Then" som är knasig. Men varför varför varför fungerar det när jag skriver dit samma värde som strBildId har? Jag går och lägger mig! Nämen jösses!!! Körde en liten blandning av era 2 förslag och då funkade det. LYCKA!Vad är det jag inte ser? [Löst]
If RS("id")=BildId Then
strBildId = " checked"
Else
StrBildId = ""
End If
</code>
I det här fallet är bildID 31 men den vill inte skriva ut även fast RS("id") också är 31. Det märkliga är att om jag byter ut strBildId mot siffrorna 31 så fattar den och sriver ut "Checked".
Vad är det jag missar?
/Andreas Sv: Vad är det jag inte ser?
Vad är RS("ID") i databasen är det tal eller text?
Du kan prova med att göra om det till tal med cInt(RS("ID")) annars.
/Anna-KarinSv: Vad är det jag inte ser?
Sv: Vad är det jag inte ser?
strBild, strBildID, bildID....
Kolla så att de stämmerSv: Vad är det jag inte ser?
<code>
If RS("id")=strBildId Then
Response.Write " checked"
End If
</code>Sv: Vad är det jag inte ser?
<code>
Dim objRS
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open "SELECT * FROM gfx ORDER BY filename DESC",_
strConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
If objRS.EOF Then
Response.Write "<br><b>Ingen bilder i databasen. </b><br><br>"
Else
Response.Write "<br><b>Bilder i databasen:</b><br>Klicka på bilden för verklig storlek<br><br><br>"
While Not objRS.EOF
If objRS("Id")=BildId Then
strBildId = " checked"
End If
</code>
Jag har provat att skriva ut värdet i strBildId och det funkar. Den är inte tom mao.
Hoppas det bringar ljus i mörkret =)Sv: Vad är det jag inte ser?
Sv: Vad är det jag inte ser?
strBildId = Request.Form("gfxId")
</code>
Sen kommer
<code>
Dim objRS
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open "SELECT * FROM gfx ORDER BY filename DESC",_
strConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
If objRS.EOF Then
Response.Write "<br><b>Ingen bilder i databasen. </b><br><br>"
Else
Response.Write "<br><b>Bilder i databasen:</b><br>Klicka på bilden för verklig storlek<br><br><br>"
While Not objRS.EOF
If objRS("Id")=BildId Then
strBildId = " checked"
End If
</code>
Och sen skrivs den ut:
<code>
Response.Write "<td width=120 align=left><font face=verdana size=1><b> Välj denna bild<input type=radio value='"&objRS("id")&"' name='gfxId'" & strBildId & "></td>"
</code>
Det märkliga i hela historien är att när jag skriver ut strBildId så är värdet 31. Byter jag ut strBildId mot just 31 i "If objRS("Id")=BildId Then" så fungerar det klockrent.
/andreasSv: Vad är det jag inte ser?
if objRS("id")=cint(bildID) then
osv.
Det borde funka!
Ett annat sätt:
strBildId = Request.Form("gfxId") - 0
Då behöver du inte ändra if-satsen.
//SuneSv: Vad är det jag inte ser?
<code>
strBildId = CLng(Request.Form("gfxId"))
Dim objRS
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open "SELECT * FROM gfx ORDER BY filename DESC",_
strConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
If objRS.EOF Then
Response.Write "<br>Ingen bilder i databasen. <br><br>"
Else
Response.Write "<br>Bilder i databasen:<br>Klicka på bilden för verklig storlek<br><br><br>"
Do Until objRS.EOF
If objRS("Id") = strBildId Then
Response.Write "<td width=120 align=left><font face=verdana size=1> Välj denna bild<input type=radio value='" & objRS("id") & "' name='gfxId' checked></td>"
objRS.MoveNext
Exit Do
Else
Response.Write "<td width=120 align=left><font face=verdana size=1> Välj denna bild<input type=radio value='" & objRS("id") & "' name='gfxId'></td>"
End If
objRS.MoveNext
Loop
Do Until objRS.EOF
Response.Write "<td width=120 align=left><font face=verdana size=1> Välj denna bild<input type=radio value='" & objRS("id") & "' name='gfxId'></td>"
objRS.MoveNext
Loop
End If
</code>Sv: Vad är det jag inte ser?
(Är väldigt tacksam för er hjälp, är inte arg på er =))
Kommer ni på något annat får ni JÄTTE gärna posta det.
/AndreasSv: Vad är det jag inte ser?
Tack för all hjälp!
/Andreas