---
title: "ERROR: Item cannot be found ..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/94933-error-item-cannot-be-found"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "timedia"
published: "2004-01-15T15:18:42.000Z"
updated: "2004-01-19T11:57:21.000Z"
replies: 13
views: 244
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/94933-error-item-cannot-be-found"
---

# ERROR: Item cannot be found ...

## #1 — timedia, 2004-01-15T15:18Z

har kollat och dubbelkollad, men kan inte hitta felet i denna:

```
Set Rs = Server.CreateObject("ADODB.Recordset")
	Rs.Open "SELECT * FROM shOrders, shCustomers WHERE shOrders.customer=shCustomers.id AND shOrders.id=" & Request("id"), Conn, 1,1
	if not rs.eof then
		[B]shBasket = Rs.Fields("shBasket").Value[/B]
		address = Rs.Fields("address").Value
		postalcode = Rs.Fields("postalcode").Value
		city = Rs.Fields("city").Value
		email = Rs.Fields("email").Value
		phone = Rs.Fields("phone").Value
		name = Rs.Fields("fname").Value & " " & Rs.Fields("lname").Value
	else
		response.end	
	end if

Rs.Close
```

 ..får detta felmeddelande:

```
Error Type:
ADODB.Recordset (0x800A0CC1)
Item cannot be found in the collection corresponding to the requested name or ordinal.
/gamol/html/shViewOrder.asp, line 19
```

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

## #2 — @nders, 2004-01-15T15:21Z

Då finns inget fält i recordsetet som heter  shBasket?

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

## #3 — timedia, 2004-01-15T15:39Z

jo, det gör det väl?
jag väljer jo alla fält i båda tabellerna - och i tabellen shOrders ligger shBasket, eller vad har jag missuppfattat?

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

## #4 — @nders, 2004-01-15T15:40Z

Ja, om fältet shBasket ligger där så ska det vara så.
Är du säker?

Kör frågan i Access och kolla.

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

## #5 — timedia, 2004-01-15T16:17Z

Någon länk till hur man kör frågor i access? :r

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

## #6 — J.N., 2004-01-15T16:30Z

HEJ!

Välj query/frågor i menyn under tabellerna, sedan väljer du tabell, och fält. Knappen uppe till vänster kör frågan, visar sql.

Men, mitt tips är att ta bort den raden (är det 19 eftersom den är fet), och se om det övriga fungerar. Dvs eftersom du inte skriver något alls om det antar jag att du inte får ut något ur db'n alls?

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

## #7 — timedia, 2004-01-16T15:03Z

Nu har jag provkörd i access och tyvärr kan jag inte köra hela satsen där men följande ger korrekt resultat:

```
SELECT * FROM shOrders, shCustomers WHERE shOrders.customer=shCustomers.id
```

I addressfältet i webbläsaren står:

```
http://localhost/gamol/html/shViewOrder.asp?id=15
```

så följande selectsats borde ju vara korrekt?

```
SELECT * FROM shOrders, shCustomers WHERE shOrders.customer=shCustomers.id AND shOrders.id="& Request("id"), Conn, 1,1
```

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

## #8 — OveRRidE, 2004-01-16T15:07Z

Varför har du response.end i din if-sats? Om nu recordset:et är tomt kommer inte rs.close eller eventuella andra förstörelserelaterade ( :) ) händelser att inträffa eftersom koden aldrig kommer dit.

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

## #9 — timedia, 2004-01-16T15:20Z

har ändrad response.end till response.write "inga varor här" och noterar att felet nu anges i linjen

```
address = Rs.Fields("address").Value
```

..och som vanligt förstår jag NADA 
  :x 
Hela filen här:

```
<%	Option Explicit ' Vi vill ha koll på våra variabler 
%><!--#include file="prevent_cache.asp"--><!--#include file="connection.asp"--><!--#include file="functions.asp"--><%
Dim numRecords, v
Dim shBasket, TotalPrice, Details

Dim email, BackgroundColor, address, phone, city, postalcode, name

IF Session("shCustomerID") = "" THEN 
	Response.Redirect "shCustomerLogin.asp": response.end
end if

	Set Rs = Server.CreateObject("ADODB.Recordset")
	Rs.Open "SELECT * FROM shOrders, shCustomers WHERE shOrders.customer=shCustomers.id AND shOrders.id="& Request("id"), Conn, 1,1
	if not rs.eof then
		shBasket = Rs.Fields("shBasket").Value
		address = Rs.Fields("address").Value
		postalcode = Rs.Fields("postalcode").Value
		city = Rs.Fields("city").Value
		email = Rs.Fields("email").Value
		phone = Rs.Fields("phone").Value
		name = Rs.Fields("fname").Value & " " & Rs.Fields("lname").Value
	else
		response.write "inga varor här"
	end if

Rs.Close

Dim a, itemsInBasket, One

' Vi hämtar ut alla varors ID-nummer till en kommaseparerad sträng
IF shBasket<>"" THEN
	a = Split(shBasket, "|")
	For Each One in a
		If itemsInBasket <> "" THEN itemsInBasket = itemsInBasket & ","
		itemsInBasket = itemsInBasket & Mid(one, 2, InStr(one, "]")-2)
	next
End If

%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<title>Beställning</title>
	<link rel="STYLESHEET" type="text/css" href="shStyle.css">
</head>

<body BGCOLOR="#FFFFFF">
	
	<P><FONT SIZE="3"><B>Din beställning är skickad!</B></FONT></p>

	Skriv ut den här sidan och spara den.<br>
	Du kommer även att få en bekräftelse via e-post<br><br>
	<B>Datum:</B><br>
	<%= Year(Now) & "-" & AddZero(Month(Now)) & "-" & AddZero(Day( Now)) & " " & Time %><br><br>
	
	<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>
	<TR>
	
	<TD CLASS="reciept" VALIGN="TOP" WIDTH="150">
		<B>Namn:</B><br>
		<%=name%><br>
	
	<B>Adress:</B><br>
	<%=address%><br>
	<%=postalcode%>&nbsp;<%=city%><br>
	</TD>
	<TD CLASS="reciept" VALIGN="TOP" WIDTH="160">
	<B>E-post:</B><br>
	<%=email%><br>
	<B>Telefon:</B><br>
	<%=phone%><br>
	</TD>
	
	</TABLE>
	
	
	<br>
		<TABLE WI DTH="400" BORDER=0 CELLSPACING=1 CELLPADDING=0>
		
		<TR BGCOLOR="<%=BackgroundColor%>">
			<TD WIDTH=20 CLASS="reciept">#</TD>
			<TD WIDTH=170 CLASS="reciept"><B>Vara</B></TD>
			<TD WIDTH=60 CLASS="reciept" ALIGN=RIGHT><B>&aacute; pris</B></TD>
			<TD WIDTH=60 CLASS="reciept" ALIGN=RIGHT><B>Summa</B></TD>
		</TR>
	<%
	Set Rs = Server.CreateObject("ADODB.RecordSet")
	Rs.Open "SELECT * FROM shItems WHERE id IN (" & itemsInBasket & ")",Conn,1,1
	Dim noItems
	if not rs.eof then
		numRecords = Rs.RecordCount-1
		BackgroundColor = "#EEEEEE"
		
		for v= 0 to numRecords
			noItems = itemCount( Rs.Fields("id").Value, False)
			If BackgroundColor = "#EEEEEE" THEN BackgroundColor ="#FFFFFF" Else BackgroundColor = "#EEEEEE"
			%>
				<TR BGCOLOR="<%=BackgroundColor%>">
					<TD WIDTH=20 CLASS="reciept"><%=noItems%></TD>
					<TD WIDTH=170 CLASS="reciept"><%=Rs.Fields("title").Value%></TD>
					<TD WIDTH=60 CLASS="reciept" ALIGN=RIGHT><%=Rs.Fields("price").Value%></TD>
					<TD WIDTH=60 CLASS="reciept" ALIGN=RIGHT><%=Rs.Fields("price").Value * noItems%></TD>
				</TR>
			
			<%
			TotalPrice = TotalPrice + itemCount( Rs.Fields("id").Value, False) * Rs.Fields("price").Value
			Rs.MoveNext
		next
		
		%>
		<TR BGCOLOR="<%=BackgroundColor%>">
			<TD COLSPAN="4" WIDTH=310 CLASS="reciept" HEIGHT="1" BGCOLOR="#000000"></TD>
		</TR>
		<TR BGCOLOR="<%=BackgroundColor%>">
			<TD WIDTH=20 CLASS="reciept">&nbsp;</TD>
			<TD WIDTH=170 CLASS="reciept"><B>Summa:</B></TD>
			<TD WIDTH=120 COLSPAN="2" CLASS="reciept" ALIGN=RIGHT><%= TotalPrice%> kr</TD>
		</TR>
		
		<%
	end if
	Rs.Close
	Set Rs = Nothing	
	%>
	</TABLE><br>
	

	<a href="shFrames.asp">&laquo; Tillbaka till shoppen</A> | <a href="JavaScript:print()">Skriv ut</A><br>

</FORM>

</body>
</html>
<%
	' CleanUp

	Conn.Close
	Set Conn = Nothing

%>
```

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

## #10 — J.N., 2004-01-16T15:51Z

HEJ!

Den går alltså förbi ShBasket ovanför?
Två allmänna felsökningstips:
\- plocka bort felande kod
\- skriv ut rs.eof, för att se att det finns ett rs

Dvs när man får fel, är det endast en sak som gäller, begränsa koden som används för att lokalisera den kod som är fel.

Förresten: Varför har du denna kod?

```
Year(Now) & "-" & AddZero(Month(Now)) & "-" & AddZero(Day( Now)) & " " & Time
```

Den är väl lika

```
=now()
```

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

## #11 — timedia, 2004-01-17T01:09Z

tack J.N ,(och den går förbi Shbasket), men:
jag 'tror' jag redan har plockad bort felande kod när jag körde denna:

```
SELECT * FROM shOrders, shCustomers WHERE shOrders.customer=shCustomers.id
```

och den funkade? ..och jag har väl redan skrivit ut rs.eof när jag skriver

```
response.write "inga varor här"
```

 ..eller är jag ute på en vinglig trehjuling igen? 
 :l

och jag har fortfarande inget RS  x(

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

## #12 — J.N., 2004-01-19T08:26Z

HEJ!

Okej, om vi sammanfattar det lite enkelt, det är alltså rad tre du fastnar på här?

```
1if not rs.eof then
2  shBasket = Rs.Fields("shBasket").Value
3  address = Rs.Fields("address").Value
4  postalcode = Rs.Fields("postalcode").Value
  city = Rs.Fields("city").Value
  email = Rs.Fields("email").Value
  phone = Rs.Fields("phone").Value
  name = Rs.Fields("fname").Value & " " & Rs.Fields("lname").Value
else
  response.write "inga varor här"
end if
```

Då kommer allmänt tips två in: Plocka bort raden! Fastnar den sedan på rad 4, då är det dags att bli orolig...
Skrevs shBasket ut med ett värde? Om ja, varför blir inte resten av RS något då? Det är svårt för oss att lista ut...

(Och ja, du skriver ut RS när det är tomt, helt rätt, mitt råd ska tolkas som allmänt.)

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

## #13 — timedia, 2004-01-19T10:55Z

ja, tyvärr fastnar den på rad 4 när jag kommenterar bort rad 3  :x

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

## #14 — J.N., 2004-01-19T11:57Z

HEJ!

Då har du problem... Den skriver alltså ut shbasket, fastnar på nästa? Då finns inte det fältet, helt enkelt, felstavat eller liknande. Kommentera bort raden, fortsätt med resten av koden, som jag skrev tidigare.

Svårt att ge ett annat råd, det är helfel någonstans alltså.

Jag skriver inte ut rs-värde som du gör, utan med RS("fält"), men det har ingen betydelse, finns det inte, finns det inte.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/94933-error-item-cannot-be-found
