webForumDet fria alternativet

Jämföra tal och text

ASP

4 svar · 413 visningar · startad av annesophie

Medlem sedan juni 20012 236 inlägg
Frågan#1

Jag har helt kört fast!

Problemet:
caseStl, numeriskt fält
appArea_id, textfält (men innehåller nummer)

Jag behöver jämföra ovan två, och om lika så skall radio button vara checked, annars inte. Men det vill sig inte!
Hittade en tråd om hur man konverterar text till tal och återanvände lösningen där (cDbl()), men icke...

<%
do until rs.eof
%>
<input type="radio" name="caseStyle" value="<%=rs("appArea_id")%>" [I]<%IF cDbl(rs(appArea_id)) = " &casestl& " then response.write "checked" ELSE response.write "" END IF%> [/I]><%=rs("appArea")%></option>
<%
rs.movenext
loop
%>

I det exempel jag har framför mig just nu (och använder som test) så är caseStl = 7 (numeriskt värde) och i min loop, som loopar ut 10 appArea_id-värden finns det en rad där appArea_id = 7 (text). Men ingen träff alls.

Var tänker jag fel?

RED: Läs inlägg 3... :r

Medlem sedan dec. 20025 483 inlägg
#2

IF cDbl(rs(appArea_id)) = CDbl(casestl) then...

Är det bara heltal som gäller så byter du ut CDbl mot CLng.

Medlem sedan juni 20012 236 inlägg
#3

Ok, jag kommer nu att skylla på att jag har influensa... Och eftersom jag nu upptäckte :r :r :r att appArea_id inte alls är text utan ett num-värde så håller jag på att förgöras av feber och blossande kinder...
Pinsamt värre!

Så nu ska jag ju jämföra tal och tal istället, vilket känns enklare.
Är det inte CLng man använder då? Får det inte att funka ÄNDÅ. :-(

<input type="radio" name="caseStyle" [B][I]<%IF CLng(rs(appArea_id)) = CLng(casestl) [/B]then response.write "checked" ELSE response.write "" END IF%>[/I] value="<%=rs50("appArea_id")%>"> <%=rs50("appArea")%>
Medlem sedan juni 20012 236 inlägg
#4

Men NU funkade det... Gah. Fattar ingenting.
Jag tror jag lägger ner för idag faktiskt.

Stort tack för din hjälp Peter! :-)

Medlem sedan dec. 20025 483 inlägg
#5

Jo, då är CLng OK :)

Dock vill du lägga till ett mellanslag innan checked så att det inte skrivs ihop med name="caseStyle":

<input type="radio" name="caseStyle" <%IF CLng(rs(appArea_id)) = CLng(casestl) then response.write " checked" ELSE response.write "" END IF%> value="<%=rs50("appArea_id")%>"> <%=rs50("appArea")%>

Red./ Jaha, se där (y)

267 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)