Avatar billede kkd Nybegynder
14. juni 2004 - 14:44 Der er 3 kommentarer og
1 løsning

Fejl i script. If..then..else der ikke sorterer rigtigt!

Hej...

Følgende script kan slet ikke finde ud af at sætte de rigtige billeder på, afhængig af hvad databasefeltet "TempOverflade" indeholder.

TempOverflade er af typen Number, FieldSize: Decimal, Precision: 5, Scale: 1, Decimal Places: Auto

Der er ikke nogen umiddelbar sammenhæng mellem hvornår den viser hvad!

if rs("TempOverflade") <> "" then
    if rs("TempOverflade") <= "12" then
    response.Write "<br>Overflade: " & rs("TempOverflade") & "&nbsp;" & chr(186) & "C&nbsp;<img src=""grafik/smiley3.gif"" width=""15"" height=""15"">"
    elseif rs("TempOverflade") > "12" AND rs("TempOverflade") <= "18" then
    response.Write "<br>Overflade: " & rs("TempOverflade") & "&nbsp;" & chr(186) & "C&nbsp;<img src=""grafik/smiley2.gif"" width=""15"" height=""15"">"
    elseif rs("TempOverflade") > "18" then
    response.Write "<br>Overflade: " & rs("TempOverflade") & "&nbsp;" & chr(186) & "C&nbsp;<img src=""grafik/smiley1.gif"" width=""15"" height=""15"">"
    end if
else
    response.write "<br>Overflade: " & chr(63)
end if
Avatar billede medions Nybegynder
14. juni 2004 - 14:46 #1
Prøv sådan her:

if Not Len(rs("TempOverflade")) = 0 then
    if CInt(rs("TempOverflade")) <= 12 then
    response.Write "<br>Overflade: " & rs("TempOverflade") & "&nbsp;" & chr(186) & "C&nbsp;<img src=""grafik/smiley3.gif"" width=""15"" height=""15"">"
    elseif CInt(rs("TempOverflade")) > 12 AND CInt(rs("TempOverflade")) <= 18 then
    response.Write "<br>Overflade: " & rs("TempOverflade") & "&nbsp;" & chr(186) & "C&nbsp;<img src=""grafik/smiley2.gif"" width=""15"" height=""15"">"
    elseif CInt(rs("TempOverflade")) > 18 then
    response.Write "<br>Overflade: " & rs("TempOverflade") & "&nbsp;" & chr(186) & "C&nbsp;<img src=""grafik/smiley1.gif"" width=""15"" height=""15"">"
    end if
else
    response.write "<br>Overflade: " & chr(63)
end if

//>Rune
Avatar billede yellow Nybegynder
14. juni 2004 - 14:47 #2
Dine sammenligninger er jo på streng-værdien "12" etc. ikke talværdien.

Prøv at fjerne plingerne omkring tallene.
Avatar billede kkd Nybegynder
14. juni 2004 - 14:54 #3
medions>> Det virker, men hvad er Len og CInt for noget?
Avatar billede medions Nybegynder
14. juni 2004 - 14:56 #4
Funktionen Len() beregner længden af strengen, hvis der er ikke er nogen chars, så vil det jo give 0.

CInt() konvertere værdien om til en Integer værdi, altså en talværdi.

//>Rune
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester