Du får ju se till att du jämför med rätt subtyper. Strängen "88" är inte samma sak som talet 88.
If cstr(i1) = Right(rs("f_birthYear"),2) Then
4 svar · 223 visningar · startad av Mika3l
Har en liten kod som ser ut som följande.
For i1 = 0 to 99
If i1 = Right(rs("f_birthYear"),2) Then
selected1 = " selected=""selected"""
Else
selected1 = ""
End If
If i1 < 10 Then
Response.Write("<option value=""0" & i1 & """" & selected1 & ">0" & i1 & "</option>")
Else
Response.Write("<option value=""" & i1 & """" & selected1 & ">" & i1 & "</option>")
End If
Next
Jag vill att <option>-rutan med värdet som stämmer överens med det som är i databasen ska få en selected="selected" så den hamnar överst, men det vill inte fungera.
Det fungerar bra om jag skriver If i1 = tal Then direkt men inte med det som står nu.
Testade att använda samma kod (Right()) och skriva ut talet (88) och det fungerade bra.
Ingen <option> får något selected-värde.
Någon som har någon susning om vad som kan vara fel?
Du får ju se till att du jämför med rätt subtyper. Strängen "88" är inte samma sak som talet 88.
If cstr(i1) = Right(rs("f_birthYear"),2) Then
Strängfunktioner kan ta i stort sett vad som helst som input (tyvärr), men returnerar strängar. Så: Kör du right() på ett tal, då får du en sträng tillbaka.
(Om jag inte är helt bakom flötet så bör det rimligen vara så det fungerar i alla fall. )
Ok, det låter ganska troligt faktiskt.