---
title: "Problem med min if sats..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/90348-problem-med-min-if-sats"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Thompa__85"
published: "2003-11-13T16:10:14.000Z"
updated: "2003-11-14T09:19:59.000Z"
replies: 9
views: 335
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/90348-problem-med-min-if-sats"
---

# Problem med min if sats...

## #1 — Thompa__85, 2003-11-13T16:10Z

Kan jag inte göra så här?

```
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas/databas.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM anv where anv = '"&session("id")&"'"
rs.Open Addera, Connect, 3, 3 
%>
<% IF session("id") = rs("anv") Then %>
<frameset rows="139,*" frameborder="No" border="0" framespacing="0"> 
<frame src="top.asp" name="top" noresize scrolling="no">
<frameset cols="140,660,*"> 
<frame src="meny.asp" name="meny" noresize>
<frame src="main.asp" name="main" scrolling="yes" noresize>
<frame src="right.asp" name="right" noresize>
</frameset>
</frameset>

<% else %>

Du måste logga in
<% end if %>
```

Den säger bara:
error '80020009' 
/adde/star/2/dastar.asp, line 8 
 
nån som vet?

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

## #2 — mikul, 2003-11-13T16:14Z

Testa detta :
\<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (\*.mdb)}; DBQ=" & server.mappath ("databas/databas.mdb")
Set rs = Connect.execute("SELECT \* FROM anv where anv = '"& session("id") &"';")

IF cStr(Trim(session("id"))) = cStr(Trim(rs("anv"))) Then 
%\>
\<frameset rows="139,\*" frameborder="No" border="0" framespacing="0"\> 
\<frame src="top.asp" name="top" noresize scrolling="no"\>
\<frameset cols="140,660,\*"\> 
\<frame src="meny.asp" name="meny" noresize\>
\<frame src="main.asp" name="main" scrolling="yes" noresize\>
\<frame src="right.asp" name="right" noresize\>
\</frameset\>
\</frameset\>

\<% else %\>

Du måste logga in
\<% end if %\>

Damn, kan inte gora kod-tagar pa detta tangentbord

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

## #3 — Thompa__85, 2003-11-13T16:22Z

Den klagar på detta:

IF cStr(Trim(session("id"))) = cStr(Trim(rs("anv"))) Then

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

## #4 — JAreMANNEN, 2003-11-13T16:26Z

> **Thompa__85 skrev:**
>
> Den klagar på detta:
> 
> IF cStr(Trim(session("id"))) = cStr(Trim(rs("anv"))) Then

Nåt med cstr() skulle jag tro...
Felmess?

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

## #5 — Thompa__85, 2003-11-13T16:27Z

samma som tidigare...

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

## #6 — Sebbe, 2003-11-13T16:58Z

Kanske såhär (om tabellen anv är ett nummer och sessionen också är ett nummer)?

```
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas/databas.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM anv where anv = '"&session("id")&"'"
rs.Open Addera, Connect, 3, 3 

If IsNumeric(rs("anv")) Then
  IF CInt(session("id")) = CInt(rs("anv")) Then
%>
<frameset rows="139,*" frameborder="No" border="0" framespacing="0"> 
<frame src="top.asp" name="top" noresize scrolling="no">
<frameset cols="140,660,*"> 
<frame src="meny.asp" name="meny" noresize>
<frame src="main.asp" name="main" scrolling="yes" noresize>
<frame src="right.asp" name="right" noresize>
</frameset>
</frameset>
<%
  else
    Response.Write("Du måste logga in")
  end if
Else
  Response.Write("Du måste logga in")
End If
%>
```

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

## #7 — @nders, 2003-11-13T17:03Z

Man skall ALLTID kontrollera att inte recordsetet är tomt innan man försöker göra saker med det.

Har verkligen Session("id") ett värde?

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

## #8 — Engine^, 2003-11-14T08:40Z

Om den inte hade det skulle det väl bli ett fel i frågan?

```
<%
If Not Session("id") = "" Then
  Set Connect = Server.CreateObject("ADODB.Connection")
  Connect.Provider = "Microsoft.Jet.OleDb.4.0"
  Connect.Open "Data Source=" & Server.MapPath("databas/databas.mdb")

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

  Addera = "SELECT * FROM anv where anv = '"&session("id")&"'"
  rs.Open Addera, Connect, 3, 3 

  If Not rs.EOF Then
    If IsNumeric(rs("anv")) Then
      If CInt(session("id")) = CInt(rs("anv")) Then
%>
<frameset rows="139,*" frameborder="No" border="0" framespacing="0"> 
  <frame src="top.asp" name="top" noresize scrolling="no">
  <frameset cols="140,660,*"> 
    <frame src="meny.asp" name="meny" noresize>
    <frame src="main.asp" name="main" scrolling="yes" noresize>
    <frame src="right.asp" name="right" noresize>
  </frameset>
</frameset>
<%
      else
        Response.Write("Du måste logga in")
      end if
    Else
      Response.Write("Du måste logga in")
    End If
  Else
    Response.Write ("Du måste logga in")
  End If

  rs.Close
  Set rs = Nothing

  Connect.Close
  Set Connect = Nothing
Else
  Response.Write ("Du måste logga in")
End If
%>
```

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

## #9 — @nders, 2003-11-14T09:15Z

> **Engine^ skrev:**
>
> Om den inte hade det skulle det väl bli ett fel i frågan?

Nej, eftersom anv är ett textfält i tabellen, så är det ju helt okej att jämföra med en tom sträng i WHERE-satsen. Är då sessionen tom, så får du ju bara ingen träff med SQL-frågan.

mvh

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

## #10 — Engine^, 2003-11-14T09:19Z

ah... jag tänkte inte på att det var en sträng, eftersom variablen var döpt till *id*.

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

---

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