---
title: "Problem med en If Sats"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/123322-problem-med-en-if-sats"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Dashi"
published: "2005-02-26T19:59:09.000Z"
updated: "2005-02-27T09:48:23.000Z"
replies: 19
views: 354
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/123322-problem-med-en-if-sats"
---

# Problem med en If Sats

## #1 — Dashi, 2005-02-26T19:59Z

Vill att den ska kolla kolumnen order_id i databasen, om där inte finns något värde ska den skriva ut Det finns inga aktuella orders, har testat göra en såhär, men får inte rätt på den, någon som har lust att skriva om den till mig?

```
<%If <%=RecSet("order_id")%> = Value=""
Response.Write "Det finns inga aktuella orders"
%>
```

Mvh //Darek

Permalänk: https://www.webforum.nu/p/123322

## #2 — voigtann1, 2005-02-26T20:09Z

Du kan inte använda \<% %\> i en \<% tagg:

```
<%
if recSet("order_ID") = "" then
response.write "Det finns inga aktuella orders"
else
'do stuff
end if
%>
```

eller

```
<% if recset("order_ID") = "" then response.write "Det finns inga aktuella orders" %>
```

Permalänk: https://www.webforum.nu/p/1563240

## #3 — Dashi, 2005-02-26T20:34Z

tyvär men det funkar inte.. :P

```
<%
user=Request.Querystring("user")

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(masterdata_databas)

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "SELECT * FROM orders WHERE user = '" & user & "' ORDER BY order_lev" 

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic 

Do Until RecSet.EOF

If recset("order_lev") = "" then response.write "Det finns inga aktuella orders"
%>
              <a href="order_hist_visa.asp?order_lev=<%=RecSet("order_lev")%>"> 
              <% =RecSet("order_lev") %>
              </a> 
              <%
RecSet.MoveNext
Loop
RecSet.Close 

Connect.Close
%>
```

Permalänk: https://www.webforum.nu/p/1563256

## #4 — voigtann1, 2005-02-26T20:49Z

nej... klart det inte gör..
du får skriva vid din if sats och neråt:

```
if recset("order_lev") = "" then
response.write "Det finns inga aktuella orders"
[b]else[/b]
response.write "<a href=""order_hist_visa.asp?order_lev=" & recset("order_lev") %""">" & recset("order_lev") & "</a>"
end if
recset.movenext
loop
recset.close
connect.close
```

din kod ovan gör ingen gemförelse.. utan du säger koden:
Om order_lev är igen då skriver du Det finns inga aktuella orders"
%\>
              \<a href="order_hist_visa.asp?order_lev=\<%=RecSet("order_lev")%\>"\> 
              \<% =RecSet("order_lev") %\>
              \</a\> 

vilket är inte det du vill :e ah... är kass på att förklara...tror detta ska fungera

Permalänk: https://www.webforum.nu/p/1563267

## #5 — Dashi, 2005-02-26T21:03Z

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0408)
Ogiltigt tecken
/masterdata/order_hist.asp, line 297, column 80
response.write "\<a href=""order_hist_visa.asp?order_lev=" & recset("order_lev") %"""\>" & recset("order_lev") & "\</a\>"

Permalänk: https://www.webforum.nu/p/1563274

## #6 — voigtann1, 2005-02-26T21:04Z

ersätt % vid recset("order_lev") 

ska vara ett & istället för %

Permalänk: https://www.webforum.nu/p/1563276

## #7 — Dashi, 2005-02-26T21:10Z

hehe detta e ju sjukt.. order_lev är tom i databasen..
nu har jag såhär, fick ta bort loop pga annars ville den inte funka, eftersom vi tidigare tog bort do until.... så får man inte ha kvar loop.. men jag har såhär nu iallafall men fortfarande så vill den inte visa Det finns inga blabla....

```
<%
user=Request.Querystring("user")

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(masterdata_databas)

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "SELECT * FROM orders WHERE user = '" & user & "' ORDER BY order_lev" 

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic 

If RecSet("order_lev") = "" Then
Response.Write "Det finns inga levererade orders"

Else

response.write "<a href=""order_hist_visa.asp?order_lev=" & recset("order_lev") &""">" & recset("order_lev") & "</a>"

End If

RecSet.Close 

Connect.Close
%>
```

Permalänk: https://www.webforum.nu/p/1563277

## #8 — voigtann1, 2005-02-26T21:16Z

är order_lev ett tal? eller är det än sträng?
om det är tal kan du ju prova skriva if recset... \< 0 then

Permalänk: https://www.webforum.nu/p/1563280

## #9 — Dashi, 2005-02-26T21:18Z

sträng...

Permalänk: https://www.webforum.nu/p/1563281

## #10 — Dashi, 2005-02-26T21:18Z

eller tal mena jag.. ska testa

Permalänk: https://www.webforum.nu/p/1563282

## #11 — Dashi, 2005-02-26T21:27Z

ehhmmm, asså databasen va ju innan som text, asså sträng, så satte jag den till tal, e kolumnen tom sätter den ju 0 jag testade då sätta den på If RecSet("order_lev") = "0" Then inte ens då skrev den ut något...

Permalänk: https://www.webforum.nu/p/1563286

## #12 — voigtann1, 2005-02-26T21:34Z

recset("order_lev") = 0 inte "0" ... fast det kan nog inte vara där problemet är.. är det fler order_lev det kan vara eller? eller är det antingen ja eller nej?

Permalänk: https://www.webforum.nu/p/1563287

## #13 — Dashi, 2005-02-26T22:16Z

hehe kolla nu.. om jag har såhär
If RecSet("order_lev") = "ingen" Then
och sätter värdet ingen på order_lev då visas texten..
har jag istället
If RecSet("order_lev") = "" Then
och har tomt på order_lev så funkar det inte, så då måste jag ha ett värde asså för att den ska funka? får testa sätta databasen på standardvärde ingen... och se om de funkar så att den sätter det om den blir tom..

Permalänk: https://www.webforum.nu/p/1563296

## #14 — @nders, 2005-02-27T09:01Z

Borde det inte vara så att SQL-frågan inte ger något resultat alls om användaren inte har någon aktuell order? Eller finns det en post i *orders* för alla användare??

Permalänk: https://www.webforum.nu/p/1563368

## #15 — Dashi, 2005-02-27T09:14Z

jovisst den gav inget resultat, det va det som var felet, eftersom jag har en Order Historik för varje användare och när man går in där stårt det Aktuella Orders och Levererade Orders, och istället för att det ska vara tomt under dom så ville jag lägga ett värde att det står Det finns inga blablabla.. för sen när man beställt efter 2 gånger typ, så står där 2 ordrar  på levererat, ser lite dumt ut då om där är ett tom rum på aktuella ordrar, därför ville jag ha ett värde där.. jag använder asp fullt ut på sidan, både för utsendes skull och för att lära mig mer :P

Permalänk: https://www.webforum.nu/p/1563371

## #16 — @nders, 2005-02-27T09:35Z

Jag hade gjort så här då:

1) Kod för att hämta och skriva ut aktuella ordrar
2) Kod för att hämta och skriva ut levererade ordrar

Kontrollera sedan om recordseten är tomma för att veta om du ska skriva ut informationen om att det inte finns några dylika orders.

Får man fråga varför du kallar din SQL-fråga för *Addera*?

```
strSQL = "SELECT ....."
set objRS = Connect.Execute (strSQL)
If objRS.EOF then
          ' recordsetet är tomt, dvs det finns inga aktuella/levererade orders 
End if
```

Permalänk: https://www.webforum.nu/p/1563376

## #17 — Dashi, 2005-02-27T09:44Z

jag hade så från början osså, men felet va att order_id (aktuella orders) och order_lev (levererade orders) låg på samma tabell, sen så fick jag göra så att jag gjorde 2 tabeller istället, gjorde precis som du förklara med punkt 1 och 2 och satte det istället på If RecSet.EOF Then
Response.write Det finns inga...
Else

Do until Recset.EOF

response.write recset("order_id")

på ett ungefär, skrev bara ut det snabb så förstår du typ hur jag gjorde :P

Permalänk: https://www.webforum.nu/p/1563379

## #18 — Dashi, 2005-02-27T09:46Z

@nders: förresten har du läst det jag posta med frames? du vet inte hur man kan fixa de? isåfall kan du ju svara där om du vet :P

Mvh //Darek

Permalänk: https://www.webforum.nu/p/1563380

## #19 — @nders, 2005-02-27T09:47Z

Jag förstår inte vad du menar att problemet var.
Och vad var problemet sedan när du gjorde om det till två tabeller?

Permalänk: https://www.webforum.nu/p/1563382

## #20 — @nders, 2005-02-27T09:48Z

Du har fått ett bra och riktigt svar i frames-tråden, vad jag kan se. 

edit: slängde dock in ett inlägg där också.

Permalänk: https://www.webforum.nu/p/1563384

---

Tråden på webben: https://www.webforum.nu/amne/asp/123322-problem-med-en-if-sats
