---
title: "fel på sökfunktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/86394-fel-på-sökfunktion"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "tank82"
published: "2003-09-18T22:07:38.000Z"
updated: "2003-09-19T00:32:54.000Z"
replies: 24
views: 427
page: 1
pages: 2
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/86394-fel-på-sökfunktion"
---

# fel på sökfunktion

_Sida 1 av 2._

## #1 — tank82, 2003-09-18T22:07Z

Hjälp!
Jag håller på och trixar med en sökfunktion och jag vet inte vad som är fel, kan någon snäll person hjälpa mig med detta.

Skulle vara bra om resultatet från sökningen listades med den senaste nyheten längst upp också. TACK PÅ FÖRHAND!  :birp 

**Felmeddelande:**
Microsoft VBScript runtime error '800a01a8' 

Object required: '' 

index.asp, line 25

```
<%
Dim Con
Dim SQL
Dim RS

Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("news.mdb")%>

<html>
<head>

</head>

<body>
<form action="index.asp" method="post">
  <input type="text" name="sokord" size="30"> 
  <input type="submit" value="sök nu!" name="submit">
</form>
<p>

<% If Request.Form("sokord") <> "" Then
	Response.Write "Din sökning på " & Request.Form("sokord") & " gav följande träffar.<br>" & vbCrLf

	SQL = "Select * from news Where nyhet Like '%" & Request.Form("sokord") & "%' "
	Set RecSet = Con.Execute(SQL)
	While Not RecSet.EOF
		Response.Write ""& RecSet("datum") &" - <a href=index.asp?page=news&ID="& RecSet("ID") &" target=>"& RecSet("rubrik") &"</a><br>" & vbCrLf
	RecSet.MoveNext
	Wend
	RecSet.Close
	Set RecSet = Nothing
End If %>

<%
Con.Close
Set Con = Nothing
%>
```

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

## #2 — Jesper T, 2003-09-18T22:13Z

Börja med att ändra: Set RecSet = Con.Execute(SQL)
till Set RecSet = Conn.Execute(SQL)

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

## #3 — Jesper T, 2003-09-18T22:14Z

Och: Con.Close
Set Con = Nothing
till:
Conn.Close
Set Conn = Nothing

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

## #4 — solbulle, 2003-09-18T22:14Z

typ:

```

<html>
<head>
</head>

<body>
<form action="index.asp" method="post">
  <input type="text" name="sokord" size="30"> 
  <input type="submit" value="sök nu!" name="submit">
</form>
<p>

<% 
Dim Conn
Dim SQL
Dim RecSet

If Request.Form("sokord") <> "" Then

	Response.Write "Din sökning på " & Request.Form("sokord") & " gav följande träffar.<br>" & vbCrLf

Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("news.mdb")

	SQL = "Select * from news Where nyhet Like '%" & Request.Form("sokord") & "%' order by datum"
	Set RecSet = Conn.Execute(SQL)
	While Not RecSet.EOF
		Response.Write ""& RecSet("datum") &" - <a href=index.asp?page=news&ID="& RecSet("ID") &" target=>"& RecSet("rubrik") &"</a><br>" & vbCrLf
	RecSet.MoveNext
	Wend
	RecSet.Close
	Set RecSet = Nothing
	Conn.Close
	Set Conn = Nothing
End If %>
```

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

## #5 — tank82, 2003-09-18T22:17Z

KANON!!! :)

Men hur gör jag så att sökresultatet listas med den senaste nyheten längs upp? Det är ju inte jätte viktigt, men det skulle vara bra.

Edit:
Skulle man få datumet på detta sätt istället: 2 juli 2003, nu är det ju 2003-02-19 11:39:28 och så vill jag inte ha det.

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

## #6 — solbulle, 2003-09-18T22:24Z

SQL = "Select \* from news Where nyhet Like '%" & Request.Form("sokord") & "%' order by datum desc"

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

## #7 — solbulle, 2003-09-18T22:26Z

<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctformatdatetime.asp>

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

## #8 — tank82, 2003-09-18T22:27Z

solbulle du är en klippa ;)

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

## #9 — tank82, 2003-09-18T23:06Z

Hmm ok nu till ett annat problem!...

om jag vill tex ha så man kan söka antingen på en nyhet eller artikel, hur gör jag i denna kod då? Jag har delat upp sökmotorn till två filer (index.asp och index2.asp) men skit i den delen som skriver ut själva resultatet, utan den är bara den första delen jag behöver hjälp med..

Om man väljer "sök nyhet i dropdownen" så ska man komma till index2.asp

Och om man väljer "sök artikel i dropdownen" så ska den gå till index3.asp

hur gör jag?? :)

**DEL 1 (index.asp)**

```
<html>
<head>
</head>

<body>
<form action="index2.asp" method="post">
  <input type="text" name="sokord" size="30"> 
  <input type="submit" value="sök nu!" name="submit">
</form>
```

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

## #10 — solbulle, 2003-09-18T23:26Z

Jag tycer VERKLIGEN att du bara ska ha en sida som visar vad du söker efter.

```
<html>
<head>
</head>

<body>
<form action="index2.asp" method="post">
  <select name="sort">
  <option Value="nyhet" Selected>nyhet</option>
  <option Value="artikel">artikel</option>
  </select>
  <input type="text" name="sokord" size="30"> 
  <input type="submit" value="sök nu!" name="submit">
</form>
```

Sen i mottagande sida kör du typ:

```
	SQL = "Select * from news Where " & Request.Form("sort") & " Like '%" & Request.Form("sokord") & "%' order by datum"
```

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

## #11 — tank82, 2003-09-19T00:03Z

hmm jo men problemet är att jag har dom i två olika tabeller news och artiklar, därför vill jag ha det så.

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

## #12 — solbulle, 2003-09-19T00:08Z

Då läser du inte vad jag skriver.
Jag förstår fortfarande inte problemet med det.
(Ändra value i formuläret från "nyheter" till "news".)

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

## #13 — tank82, 2003-09-19T00:09Z

men då blir det ju inte rätt här?

Response.Write ""& FormatDateTime(RecSet("datum"),2) &" - \<a href=index.asp?page=**nyheter**&ID="& RecSet("ID") &" target=\>"& RecSet("rubrik") &"\</a\>\<br\>" & vbCrLf

eftersom om man söker på artiklar så ska det bli så här:

Response.Write ""& FormatDateTime(RecSet("datum"),2) &" - \<a href=index.asp?page=**artiklar**&ID="& RecSet("ID") &" target=\>"& RecSet("rubrik") &"\</a\>\<br\>" & vbCrLf

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

## #14 — Jesper T, 2003-09-19T00:13Z

Det går ju att trixa med. Om dú utgår ifrån Solbulles kod så kanske du kan lösa det såhär:

```
Response.Write ""& FormatDateTime(RecSet("datum"),2) &" - <a href=index.asp?page="&Request.Form("sort")&"&ID="& RecSet("ID") &" target=>"& RecSet("rubrik") &"</a><br>" & vbCrLf
```

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

## #15 — tank82, 2003-09-19T00:15Z

just det... ska genast testa!

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

## #16 — solbulle, 2003-09-19T00:15Z

Oki. Enklaste lösningen är ju att du byter namn i din db från news till nyheter i så fall. Går ju iofs att fixa en lösning ändå.
Om du byter namn:

```
Response.Write FormatDateTime(RecSet("datum"),2) &" - <a href=index.asp?page=" & Request.Form("sort") & "&ID="& RecSet("ID") &" target=>"& RecSet("rubrik") &"</a><br>" & vbCrLf
```

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

## #17 — solbulle, 2003-09-19T00:17Z

Annars typ:

```
sort = Request.Form("sort")
If  sort = "news" then
	sort = "nyheter"
End If
Response.Write FormatDateTime(RecSet("datum"),2) &" - <a href=index.asp?page=" & sort & "&ID="& RecSet("ID") &" target=>"& RecSet("rubrik") &"</a><br>" & vbCrLf
```

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

## #18 — tank82, 2003-09-19T00:17Z

(helt borta nu)

Jag har ju en db news.mdb sen är det två tabeller i den news och artiklar sen är det ID, datum, nyhet, osv

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

## #19 — solbulle, 2003-09-19T00:21Z

Eftersom du gärna vill skriva på svenska på din sida så blir det ju enkalre med samma namn i db. Men min andra variant ska ju fungera det med. Att ha två sidor är imho förkastligt.

Såg iofs inte att Jesper T redan postat kod. :)

Är det ingen här som har ett jobb eller liknande att sköta i morgon btw? ;)

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

## #20 — tank82, 2003-09-19T00:24Z

men detta fungerar ju inte eftersom jag har news (tabell 1) och artikel (tabell 2)

```
SQL = "Select * from news Where " & Request.Form("sort") & " Like '%" & Request.Form("sokord") & "%' order by datum"
```

PS. Jag har sagt upp mig från jobbet, så nu är jag hemma och tar hand om ungen =)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/86394-fel-på-sökfunktion  
Nästa sida: https://www.webforum.nu/amne/asp/86394-fel-på-sökfunktion/page2.md
