---
title: "Jäfmröa Session med recordset."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/98093-jäfmröa-session-med-recordset/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "magnusfernstrom"
published: "2004-02-24T11:53:07.000Z"
updated: "2004-02-24T18:47:32.000Z"
replies: 43
views: 690
page: 2
pages: 3
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/98093-jäfmröa-session-med-recordset"
---

# Jäfmröa Session med recordset.

_Sida 2 av 3._

## #21 — @nders, 2004-02-24T15:19Z

Till att börja med: indentera din kod, så blir det hela mycket mindre stökigt, och mer lättöverskådligt.

```
If det ena then
      Gör något
      If något annat then
              Gör något
      Else
              Gör något helt annat
              If något tredje then
                     Gör något
              Else
                     Gör något ännu annare
              End if
      End if
End if
```

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

## #22 — magnusfernstrom, 2004-02-24T15:20Z

Oookej, men hur skall man få in denna kod på rätt sätt: If objRS.EOF Then. Och hur ska den se ut tillsammans med min kod?

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

## #23 — @nders, 2004-02-24T15:22Z

Till att börja med: indentera din kod så det går att titta på den utan att hjärnan imploderar. 

Sedan är det inte mycket fix för att få det att funka.

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

## #24 — magnusfernstrom, 2004-02-24T15:25Z

Hehe men det blir antagligen ännu stökigare när jag har identerat min kod...

Jag vette tusan hur man ska identera sin kod för att få den snygg...som sagt kommer bara att bli fult.

Så utan det kan du inte hjälpa mig?

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

## #25 — magnusfernstrom, 2004-02-24T15:33Z

Känner mig väldigt jobbig just nu...
Hoppas du inte surnar till @nders...
Men tyvärr, jag fattar helt enkelt inte.
Jag tycker ASP är jätte svårt.

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

## #26 — @nders, 2004-02-24T17:21Z

Indentering innebär helt enkelt att du strukturerar koden så det går att se vad som hör ihop. Innehållet i en if-sats eller liknande, ett steg in. Har du if-satser i if-satser, ett steg längre in. Jag har indenterat din kod:

```
<%
If Session("inloggad") = "ja" Then
	If Request.Querystring("MID") = "" Then
		Response.Write "Meddelanden finns inte"
	Else
		Set db = Server.CreateObject("ADODB.Connection")
		db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("users.mdb")
		SQL = "SELECT * FROM meddelanden WHERE MID = " & Request.Querystring("MID") & ""
		Set rs = db.Execute(SQL)

		If IsNumeric(Session("userID")) Then
			If CLng(Session("userID")) = CLng(rs("Till")) Then
 				Do until rs.EOF %>
					<br>
					Rubrik: <%=rs("Rubrik")%>
					<br>
					Från: <%=rs("FranUser")%>
					<br>
					<br>
					<%=rs("Meddelande")%>
					<br><%
					rs.MoveNext
				Loop
			Else
				Response.Redirect "meddelanden.asp"
			End If
		End If
	End If
End If
%>
```

Säg mig, är det lite lättare att se vad som hör till vilken if-sats?

Jag återkommer inom kort med lite kod som (förhoppningsvis) löser aktuellt problem.

Mvh

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

## #27 — magnusfernstrom, 2004-02-24T17:31Z

Åhå okej, då förstår jag @nders :)
Tack för förklaringen...

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

## #28 — @nders, 2004-02-24T17:37Z

Så här hade jag gjort:

```
<%
If Session("inloggad") = "ja" Then ' Denna if-sats hade jag bytt till [i]if session("userid") <>"" then[/i]
	strMid = Request.Querystring("MID")
	if strMid = "" then 
		lngMid = -1 ' vilket värde som helst som inte ger träff i tabellen [i]meddelanden[/i]
	else
		if isnumeric(strMid) then
			lngMid = clng(strMid) ' denna subtypskonvertering behövs egentligen inte, men vi gör den bara för att. :-)
		else
			lngMid = -1 ' MID-värdet som kastas hit är inte numeriskt, så, enligt ovan alltså.
		end if
	end if

	Set db = Server.CreateObject("ADODB.Connection")
	db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("users.mdb")
	SQL = "SELECT * FROM meddelanden WHERE MID = " & lngMid & " AND Till=" & Session("userID")
	Set rs = db.Execute(SQL)

	if rs.eof then
		Response.write "Hä va ju inge!"
	else
		Do until rs.EOF 
			Response.write "<br>Rubrik: " & rs("Rubrik")
			Response.write "<br>Från: " & rs("FranUser")
			Response.write "<br><br>" & rs("Meddelande") & "<br>"
			rs.MoveNext
		Loop
	End If
End If
%>
```

Angående val av connectionstring, läs [här](http://www.webforum.nu/showthread.php?s=&postid=788821#post788821) och ett par inlägg längre ner.

Jag har tagit bort din response.redirect, för jag förstod inte under vilka förutsättningar den skulle köras. Berätta gärna vad du hade planerat. 

Mvh

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

## #29 — magnusfernstrom, 2004-02-24T17:48Z

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

\[Microsoft\]\[ODBC Microsoft Access Driver\] Data type mismatch in criteria expression.

/slauson/db/1/message.asp, line 17

:)

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

## #30 — @nders, 2004-02-24T17:50Z

Vad är *Till* för datatyp? Text? I så fall, varför då?

```
	SQL = "SELECT * FROM meddelanden WHERE MID = " & lngMid & " AND Till='" & Session("userID") & "'"
```

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

## #31 — magnusfernstrom, 2004-02-24T17:51Z

Till är fältet i databasen.

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

## #32 — @nders, 2004-02-24T17:54Z

Ja ?!??!? ? :o :q

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

## #33 — magnusfernstrom, 2004-02-24T17:55Z

Va! nä nu får vi ta om det här...vad menar du?

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

## #34 — @nders, 2004-02-24T17:59Z

Du har ett fält som heter *Till* i din tabell.
Vilken datatyp är fältet *Till* som ligger i din tabell?
Är fältet *Till* som ligger i din tabell av datatypen text?
I så fall: Varför är fältet *Till* som ligger i din tabell av datatypen text?

Är mina frågor tillräckligt klara? :)

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

## #35 — magnusfernstrom, 2004-02-24T17:59Z

jag känner mig så dum, hoppas jag inte är till för mycket besvär...

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

## #36 — magnusfernstrom, 2004-02-24T18:00Z

Jaaaaaaså....haha sorry @nders....
Ja den är text, och en varför jag har det vet jag inte.
Jag bara är sån :P ska jag byta till tal?

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

## #37 — @nders, 2004-02-24T18:01Z

Du lagrar väl tal (användar-id:n) i fältet? I så fall bör det ju helt klart vara av typen tal.

mvh

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

## #38 — magnusfernstrom, 2004-02-24T18:04Z

Haha okej, du förstår saker som dessa är inte självklara för mig ;) :) även om jag hade kunnat tänka ut det.

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

## #39 — magnusfernstrom, 2004-02-24T18:18Z

Hurra hurra.
Nu när jag ändrade lite i databasen så blev det tydligen fel nånstans...

När jag skall till inboxen för mina meddelanden så får jag detta meddelande:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

\[Microsoft\]\[ODBC Microsoft Access Driver\] Data type mismatch in criteria expression.

/slauson/db/1/meddelanden.asp, line 7

med denna kod

```
<%
If Session("inloggad") = "ja" Then

Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("users.mdb")
SQL = "SELECT * FROM meddelanden WHERE Till = '" & Session("userID") & "'"
Set rs = db.Execute(SQL)

Do until rs.EOF
%>
<table border="0" cellpadding="1" cellspacing="1">
<td width="300" height="" valign="center" align="left" bgcolor="EEEEEE">
<a href="message.asp?MID=<%=rs("MID")%>"><%=rs("Rubrik")%></a>
</td>
<td width="200" height="" valign="center" align="left" bgcolor="EEEEEE">
<a href="users.asp?userID=<%=rs("Fran")%>"><%=rs("FranUser")%></a>
</td>
<td width="100" height="" valign="center" align="left" bgcolor="EEEEEE">
<a href="delete_message.asp?MID=<%=rs("MID")%>">ta bort</a>
</td>
<%
rs.MoveNext
Loop
Set rs = nothing

End If
%>
```

OBSERVERA!
Detta är alltså inte sidan där man ser själva meddelandet!

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

## #40 — @nders, 2004-02-24T18:19Z

Om du har gjort *Till* till ett fält av typen tal så får du inte ha apostrofer runt fältvärdet i SQL-frågor.

Mvh

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/98093-jäfmröa-session-med-recordset/page2  
Föregående sida: https://www.webforum.nu/amne/asp/98093-jäfmröa-session-med-recordset.md  
Nästa sida: https://www.webforum.nu/amne/asp/98093-jäfmröa-session-med-recordset/page3.md
