31. juli 2001 - 03:06Der er
21 kommentarer og 1 løsning
If..Then..Else problem
Jeg har prøvet at lave en funktion hvor den skal gå ind og tjekke kolonnen adresse, hvis der ikke er noget i den skal den skrive a, men hvis den indeholder noget skal den skrive b. Problemet er bare at den ikke reagere på det. Alle postrækkerne returneres med b, selvom de indeholder adresse eller ej. Koden jeg har brugt er: (selvfølgelig har jeg oprettet en databaseforbindelse og alt det der)
If (rs(\"adresse\") = \"\") Then Response.Write \"a\" Else Response.Write \"b\" End If
Det har jeg prøvet, men så ville den kun vise a (glemte at fortælle at hvis jeg skriver if not (rs... skriver den a på alle sammen istedet) lige meget om jeg skriver if eller if not
For mig at se, er der ikke noget galt med din if..then..else, så det må ligge i det recordset du bruger. Prøv at udskrive indholdet af rs(\"adresse\") og se om der overhovedet er noget data i din forespørgsel.
Jeg har prøvet alle foreslagene, men ingen ser ud til at virke. Til at teste det med har jeg 2 recordset, et med indhold i adresse og et uden, men stadig for begge to enten a eller b, her er hele den kode jeg har brugt:
\'Hent fra databasen afhængig af værdien id fra URL strSQL = \"Select * From ba Where kategori like \'%trommer%\' order by navn\" Set rs = objConn.Execute(strSQL) \'Indhold der vises Do
If len(rs(\"adresse\")) = 0 then Response.Write \"a\" Else Response.Write \"b\" End If
Kan jeg få dig til at teste mit forslag. Der er 3 udgange a,b,c. Hvis begge dine recordsets giver c, så er det fordi din \"tomme\" adresse er et blanktegn \" \".
Kichian> Jeg prøver dit forslag iaften, skal nok rapportere tilbage(sidst jeg prøvede skar jeg din elseif fra, men det jeg prøver den \"fulde\" version\"
Kichian > Jeg prøvede dit foreslag, og fik returneret c, det jeg bare ikke forstår er at, for at være på den sikre sidde slettede jeg databasen og oprettede en ny med 2 poster: en med indhold i adresse & en uden, så den uden burde jo være fuldstændig tom. BTW, så bruger jeg en sql-database
Min tanke var, at du skulle bruge forslagene undervejs i 57260 til at finde ud af mere præcist, hvad der faktisk står i rs(\"adresse\") - det er først når du ved det, at det (måske) bliver relevant at bruge et regulært udtryk til at lave om på det.
Det var hovedsagelig ideen
for i = 1 to Len(str) Response.Write( \"ASCII-værdi: \" & Asc(Mid(str,i,1)) & \"<br>\" ) next
jeg tænkte på. Kun for at vi alle kunne blive klogere.
Sorry, jeg har kun fået 3 timers søvn inat, så det er ikke hjernen der kører for fulde kræft, og får at gøre det endu bedre er min computer lige crashet AAAAAARGGGGGGGHHHHHHHHH, så der går nok lige lidt tid før jeg kan give jer et svar:((
Hvis du har et blank-tegn i adressefeltet, så burde følgende gøre det: if IsNull(rs(\"adresse\")) Then \' Ingen data ElseIf len(Trim(rs(\"adresse\"))) = 0 Then \' Indeholder tom streng eller blank-tegn Else \' Indeholder data End if
kichian> Jeg prøvede halvt om halvt dit svar(derfor får du pointene), men bare hvor jeg fik den fra en anden person. Jeg skrev: if len(trim(rs(\"adresse\"))) = 0 then Response.write \"a\" Else Response.Write \"b\" End if Det fik det til at lykkedes, og får lige at undersøge det nærmere skrev jeg: Response.Write len(rs(\"adresse\")) Her fik jeg returneret 50 i alle poster(som er den størrelse jeg har sat på kolonnen), det må derfor betyde at den indeholder \"tomrum\" hvor der ikke står noget, og selvfølgelig har feltet så altid indeholdt en værdi
Ellers tak for de mange besvarelser, dette er et Kongested, med de store personer;)
Stort hilsen Kroger
Synes godt om
Ny brugerNybegynder
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.