Det är skillnad på null och tom sträng. dock, om du lägger till en tom sträng till ett nullvärde kan du jämföra det med ett strängvärde.
If Trim("" & rs(dbSelect)) <> "" Then
6 svar · 309 visningar · startad av monAmour
Hej, blir galen på den här konstiga grejjen.
Loopar svar från en undersökning ur en access-databas, och ibland är det så att ett svar är helt tomt vilket gör att jag inte vill visa detta.
Har helt enkelt försökt göra på det här sättet:
If Trim(rs(dbSelect)) <> "" Then
%>
<div class="post">
<div class="pLongAnsw">
<%=rs(dbSelect)%>
</div>
</div>
<br />
<hr />
<br />
<%
End If
Men då skrivs ingenting ut alls, eller html koden skrivs ut..
Alltså <div.... osv> Allt i IF satsen förut själva fråge svaret <%=rs(dbSelect)%> WHY??
Tar jag bort IF-satsen fungerar det fint..
Det är skillnad på null och tom sträng. dock, om du lägger till en tom sträng till ett nullvärde kan du jämföra det med ett strängvärde.
If Trim("" & rs(dbSelect)) <> "" Then
Sant!
Men det verkar inte fungera ändå..
http://www.bjorkefall.net/publiq/report2.asp?q=1
Vad är fältet dbSelect för datatyp? Om det är PM bör du lägga det sist i din SELECT-fråga, och skapa en variabel som du använder dig av på asp-sidan, istället för att referera till recordsetet.
mvh
Det är ett PM och jag hämtar enbart 1 fält i min Select sats.
<%
'Query db file
Dim q
Dim dbSelect
q = Request.Querystring("q")
If q = "" Then
q = "1"
End If
Select Case q
Case "1"
Set rs = conObj.Execute("Select publiq1 From reportTbl")
dbSelect = "publiq1"
Case "2"
Set rs = conObj.Execute("Select publiq2 From reportTbl")
dbSelect = "publiq2"
Case "3"
Set rs = conObj.Execute("Select publiq3 From reportTbl")
dbSelect = "publiq3"
Case "4"
Set rs = conObj.Execute("Select publiq4 From reportTbl")
dbSelect = "publiq4"
Case "5"
Set rs = conObj.Execute("Select publiq5 From reportTbl")
dbSelect = "publiq5"
Case "6"
Set rs = conObj.Execute("Select publiq6 From reportTbl")
dbSelect = "publiq6"
End Select
Do While Not rs.EOF
If Trim("" & rs(dbSelect)) <> "" Then
%>
Fick det att fungera nu genom att sätta en variabel som du sa!
Tack.
lösning:
Do While Not rs.EOF
Dim record
record = Trim("" & rs(dbSelect))
If record <> "" Then
%>
<div class="post">
<div class="pLongAnsw">
<%=record%>
</div>
</div>
<br />
<hr />
<br />
<%
End If
rs.MoveNext
Loop
%>
Om du nu bara tar ett fält från databasen varför lägger du inte bara till " WHERE %fält% <> NULL " i din SQL-sats då?
/MAge