---
title: "problem med sökfunktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/164424-problem-med-sökfunktion"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Vinnaren"
published: "2007-09-11T19:18:39.000Z"
updated: "2007-09-12T13:28:40.000Z"
replies: 6
views: 556
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/164424-problem-med-sökfunktion"
---

# problem med sökfunktion

## #1 — Vinnaren, 2007-09-11T19:18Z

Hej

Jag har fått något konstigt problem med min sökfunktion.

Har följande kod:

```
fritext		= SafeSQL(Request.QueryString("fritext"))
klubbID		= CLng(Request.QueryString("klubbID"))
plats		= CLng(Request.QueryString("position"))
landID		= CLng(Request.QueryString("landID"))

IF request.QueryString("aktiva") = 0 then
     aktiva = 0
ELSE
     aktiva = 1 
END IF

strSQL ="SELECT spelare.playID, spelare.lagID, spelare.landID AS spelare_landID, spelare.playFnamn+' '+spelare.playEnamn AS Namn, 
spelare.playFnamn, spelare.playEnamn, spelare.playFodd, spelare.playFodelseort, spelare.playPosition, spelare.playSkott, spelare.playAktiv, 
land.landID AS land_landID, land.land, land.flagga, klubbar.lagNamn FROM (land INNER JOIN spelare ON land.landID=spelare.landID) LEFT JOIN klubbar ON spelare.lagID=klubbar.lagID 
WHERE "&fritext&" "&klubbID&" "&plats&" "&landID&" AND playAktiv ="&aktiva&" ORDER BY "&order_spelare&""
```

 

Problemet är när man skriver in en söktext får man inte upp några träffar även att det finns.
Har provat att skriva ut sql frågan och provkört den i databasen(Access) och får där massa poster, men kommer inte fram några på sidan.
Får fram massa poster på sidan när man inte fyller i något sökord utan väljer något klubbID.

Har även provat med:

```
Set objRS = objConn.Execute("SELECT spelare.playID, spelare.lagID, spelare.landID AS spelare_landID, spelare.playFnamn, spelare.playEnamn, 
spelare.playFodd, spelare.playFodelseort, spelare.playPosition, spelare.playSkott, spelare.playAktiv,
 land.landID AS land_landID, land.land, land.flagga, klubbar.lagNamn FROM (land INNER JOIN spelare ON land.landID=spelare.landID) LEFT JOIN klubbar ON spelare.lagID=klubbar.lagID 
WHERE (spelare.playFnamn+' '+spelare.playEnamn Like '*a*')")

Response.Write objRS("playFnamn")
```

 

Får här felmeddelandet:
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

Kör man samma fråga i databasen får jag över 500 träffar.

vad har jag gjort för fel?

Tacksam för all hjälp   :stud

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

## #2 — voigtann1, 2007-09-11T19:38Z

Din Where sats i den övre se knäpp ut...
kan bara tänka mig i slutet:
"Where 'hej' 1 2 3" du måste ju matchar de men något i databasen?

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

## #3 — Vinnaren, 2007-09-11T20:05Z

oj, glömde den koddelen   :r 

```

fritext		= SafeSQL(Request.QueryString("fritext"))
klubbID		= CLng(Request.QueryString("klubbID"))
plats		= CLng(Request.QueryString("position"))
landID		= CLng(Request.QueryString("landID"))

			
IF request.QueryString("aktiva") = 0 then
	aktiva = 0
ELSE
	aktiva = 1 
END IF

if NOT fritext = "" then
	if (klubbID = 0 AND plats = 0 AND landID=0) then
		sokFritext	= "(([spelare].[playFnamn]+' '+[spelare].[playEnamn]) Like '*"&fritext&"*') "				
	else
		sokFritext	= "spelare.playFnamn +' ' + spelare.playEnamn like '*"&fritext&"*' AND "				
	end if
end if
				
				
if NOT klubbID = 0 then
	if (plats = 0 AND landID=0) then
		sokKlubbID	= "spelare.lagID="&klubbID				
	else
		sokKlubbID	= "spelare.lagID="&klubbID&" AND "				
	end if		
end if
				
				
if NOT plats = 0 then
	if (landID=0) then
		sokPlats	= "playPosition="&plats				
	else
		sokPlats	= "playPosition="& plats&" AND "
					
	end if		
end if
			
			
if NOT landID = 0 then
	sokLandID	= "spelare.landID="&landID
end if

strSQL ="SELECT spelare.playID, spelare.lagID, spelare.landID AS spelare_landID, spelare.playFnamn+' '+spelare.playEnamn AS Namn, spelare.playFnamn, spelare.playEnamn, spelare.playFodd, spelare.playFodelseort, spelare.playPosition, spelare.playSkott, 
spelare.playAktiv, land.landID AS land_landID, land.land, land.flagga, klubbar.lagNamn FROM (land INNER JOIN spelare ON land.landID=spelare.landID) LEFT JOIN klubbar ON spelare.lagID=klubbar.lagID 
WHERE "&sokFritext&" "&sokKlubbID&" "&sokPlats&" "&sokLandID&" AND playAktiv ="&aktiva&" ORDER BY "&order_spelare&""
```

kanske inte det bästa sättet

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

## #4 — doggelito, 2007-09-11T20:53Z

> **Vinnaren skrev:**
>
> Kör man samma fråga i databasen får jag över 500 träffar.

Omöjligt! ;)
Kör en response.write igen på selectsatsen då strängen genererar fel svar och testa igen i databasen.
Det måste vara ett variabelfel nånstans. :)

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

## #5 — @nders, 2007-09-12T05:16Z

> **doggelito skrev:**
>
> Omöjligt! ;)

Nä, det är inte omöjligt. :)

Byt ut \* mot % som wildcard i din SQL-fråga så bör resultatet bli detsamma.

Jag tror att odbc/oledb vill att man använder % som wildcard, men access-applikationen gillar \*.

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

## #6 — CatZ, 2007-09-12T07:09Z

> **@nders skrev:**
>
> Nä, det är inte omöjligt. :)
> 
> Byt ut \* mot % som wildcard i din SQL-fråga så bör resultatet bli detsamma.
> 
> Jag tror att odbc/oledb vill att man använder % som wildcard, men access-applikationen gillar \*.

Precis så är det :)

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

## #7 — Vinnaren, 2007-09-12T13:28Z

tack, nu funkar det   :bire

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/164424-problem-med-sökfunktion
