IInferisMedlem sedan sep. 2000667 inlägg Varför fungerar inte följande kod? Även om alla poster är tomma så skrivs ändå Felutskrift ut...
Kod:
<% if Recset("1") = "0" AND Recset("2") = "" AND Recset("3") = "" AND Recset("4") = "" AND Recset("5") = "0" Then
response.write "Felutskrift"
else %>
cyprysMedlem sedan dec. 20003 563 inläggDu får nog skriva ut datatyper för samtliga kolumner samt koden du använder för att generera ovanstående.
IInferisMedlem sedan sep. 2000667 inlägg Att köra dem en och en fungerar. Det är när man använder AND som det inte fungerar.
IInferisMedlem sedan sep. 2000667 inlägg set Recset= Connect.execute ("SELECT * FROM [tabell] Where [id] = '"& request.querystring("id") &"'")
Ett fält är av typen tal. Har bara värden 0 eller 1.
Jesper TMedlem sedan nov. 20017 144 inläggÄr "id" tal, så skall du ta bort enkelfnuttarna runt ReQuest.QueryString("id")
IInferisMedlem sedan sep. 2000667 inlägg Bara skrev koden förenklad.
Den fungerar att hämta och skriva ut osv.
Det är bara när man använder AND i ifsatsen som det inte fungerar.
IInferisMedlem sedan sep. 2000667 inlägg Förenklat:
if rs("1") = "" AND rs("2") = 0 Then
kör varken html eller kod
else
kör html och kod
end if
Trots att rs("1") är tom och rs("2") (tal) är 0 så kör den kod och html.
@ndersMedlem sedan juni 200032 967 inläggTom? Är det inte null då? Null != "".
IInferisMedlem sedan sep. 2000667 inlägg Om man öppnar Access så är Rs1 blank och Rs2 har en nolla.
@ndersMedlem sedan juni 200032 967 inläggVad är fältet 1 för datatyp då? I talfält kan inte strängar (nej, inte ens tomma strängar) lagras, och då är värdet null.
If Isnull(rs("1")) and Clng(rs("2")) = 0 then
IInferisMedlem sedan sep. 2000667 inlägg @nders:
Din kod gjorde precis samma sak som min.
IInferisMedlem sedan sep. 2000667 inlägg Fält 1 är text och fält 2 är tal.
@ndersMedlem sedan juni 200032 967 inläggOkej. Du är säker på att det inte sparats något mellanslag eller så? Prova att skriva ut dess värden, så du ser vad det är du jämför med.
Response.write "¤" & rs("1") & "¤" & rs("2")
Mvh
IInferisMedlem sedan sep. 2000667 inlägg Fick ¤0¤
(skrev ut fältet tal först)
cyprysMedlem sedan dec. 20003 563 inläggIf len([b]trim[/b](rs("1"))) = 0 and Clng(rs("2")) = 0 then
?
@ndersMedlem sedan juni 200032 967 inläggAnledningen till soltecknen var att du skulle ha textfältet där för att se om där skräpade mellanslag.
@ndersMedlem sedan juni 200032 967 inläggDå får du se till att antingen inte lagra bara mellanslag i fältet, eller så får du använda Trim().
If Trim(rs("1")) = "" and rs("2") = "0" then
@ndersMedlem sedan juni 200032 967 inläggDet verkar som att du behöver lite bättre kontroll på vad du lagrar i tabellen. Defaultvärde 0 på talfälten kanske kunde passa, och något som ser till att inte endast mellanslag lagras i ett textfält.
Mvh