---
title: "välj sökning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/8332-välj-sökning"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "crisse6"
published: "2001-02-19T12:09:00.000Z"
updated: "2001-02-26T18:12:00.000Z"
replies: 40
views: 282
page: 1
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/8332-välj-sökning"
---

# välj sökning

_Sida 1 av 3._

## #1 — crisse6, 2001-02-19T12:09Z

tjabba!

jag har gjort en väldigt enkel sökmotor för att söka igenom en databas. jag har några fält i tabellen users som finns i databasen som heter namn, efternamn, kon, osv.... om jag nu vill via formuläret som man söker i ska kunna välja om man vill hitta bara tjejer eller bara killar...så kan man ju lägga till en rullgardinsmeny i formuläret men hur blir det i asp-koden? så här ser den ut för tillfället:

```
<font face="Verdana" size="1"><b>Här visas dina träffar:</b><br><br></font><font face="Verdana" size="1">
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
%>

<%
sokning = Request.Form("sokning")
SQL = "SELECT * FROM users WHERE Username LIKE '%" & sokning & "%' OR namn LIKE '%" & sokning & "%' OR kon LIKE '%" & sokning & "%'"
Set rsBra = databas.execute(SQL)
Do Until rsBra.EOF

Response.Write "Förnamn: " & "<b>" & rsBra("Namn") & "<br>" & "</b>"
Response.Write "Efternamn: " & rsBra("Efternamn") & "<br>"
Response.Write "Emejl: " & rsBra("E-post") & "<br>"
Response.Write "Bor: " & rsBra("Bor") & "<br>"
Response.Write "Kön: " & rsBra("Kon") & "<br>"
Response.Write "Född: " & rsBra("Born") & "<br>"
Response.Write "Så här beskriver jag mig själv:" & "<br>" & rsBra("Fakta") & "<br>"

Response.Write "Nickname: " & rsBra("Username") & "<br>" & "<a href=""blikompis.asp?Username=" &  rsBra("Username") & """>Bli polare!</a><br><br>"
Response.Write "<img src=""hr.jpg"" width=""846"" height=""11"" border=""0"">" & "<br>"
rsBra.MoveNext
Loop
%>
```

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

## #2 — Vide, 2001-02-19T12:14Z

Du får döpa din rullist till kon, och sedan ändra till:

```
kon = Request.Form("kon")
sokning = Request.Form("sokning")
SQL = "SELECT * FROM users WHERE (Username LIKE '%" & sokning & "%' OR namn LIKE '%" & sokning & "%') AND kon = '" & kon & "'"
```

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

## #3 — crisse6, 2001-02-19T17:40Z

tackar Vide! :e

nu surfar det bara med min sökfunktion :e bara en liten fråga, om man inte hittar någon person som man sökt på, kan man inte få ett litet meddelande om det då? borde väl gå med en liten If-sats :q

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

## #4 — Rossifumi, 2001-02-19T17:51Z

```
If rsBra.EOF Then
Response.Write "Tomt"
Else
Loooop
End If
```

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

## #5 — Kent, 2001-02-19T18:50Z

Vide testade din och den funkar bra om man väljer en kategori, men om man inte väljer en kategori i select satsen kommer detta fel upp,

Syntax error (missing operator) in query expression '(beskrivning LIKE 'm%' OR titel LIKE 'm%') AND kat='. 

vad kan det bero på tror du.?

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

## #6 — Vide, 2001-02-19T18:56Z

att du inte skickar med något värde för kön... gör en ifsats som kolla om du skicka med något, är det medskickat så lägger du till \>\> AND kon = '" & kon & "' \<\< annars så skiter du i det...

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

## #7 — Kent, 2001-02-19T19:12Z

Kan du visa med lite mer kod tror du, jag fattade inte riktigt det där.

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

## #8 — Vide, 2001-02-19T20:29Z

```
kon = Request.Form("kon")
sokning = Request.Form("sokning")
SQL = "SELECT * FROM users WHERE (Username LIKE '%" & sokning & "%' OR namn LIKE '%" & sokning & "%')"
If kon <> "" then SQL = SQL & " AND kon = '" & kon & "'"
```

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

## #9 — Kent, 2001-02-19T20:48Z

Får upp fel, Data type mismatch in criteria expression. vad är det för fel då.?

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

## #10 — Vide, 2001-02-19T22:34Z

på vilken rad?

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

## #11 — Kent, 2001-02-19T22:41Z

Så här ser koden ut:
kon = Request.Form("kon")
sokning = Request.Form("sokning")
SQL = "SELECT \* FROM users WHERE (Username LIKE '%" & sokning & "%' OR namn LIKE '%" & sokning & "%')"
If kon \<\> "" then SQL = SQL & " AND kon = '" & kon & "'"
Set RS = databas.execute(SQL)

då ligger felet på,
Set RS = databas.execute(SQL)

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

## #12 — Vide, 2001-02-19T22:46Z

okej, skriv ut SQL-strängen före du exekverar den, så är det lättare att se vad som är fel:

```
If kon <> "" then SQL = SQL & " AND kon = '" & kon & "'"
Response.write SQL
Set RS = databas.execute(SQL)
```

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

## #13 — Kent, 2001-02-19T22:52Z

Nu står det,

SELECT \* FROM databas WHERE (beskrivning LIKE '%test%' OR titel LIKE '%test%') AND kat = '1' 
ADODB.Recordset.1 error '80004005' 

Data type mismatch in criteria expression. 

det säger mig inte så mycket.?

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

## #14 — Vide, 2001-02-19T22:56Z

okej, är fältet kat ett textfält? annars så skall du ta bort enkelfnuttarna...

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

## #15 — Kent, 2001-02-19T23:19Z

Kat är en select sats, koden ser nu så här,
SQL = "SELECT \* FROM databas WHERE (beskrivning LIKE '%" & sokning & "%' OR titel LIKE '%" & sokning & "%') AND kat = " & kat & ""

får upp fel,
Syntax error (missing operator) in query expression '(beskrivning LIKE '%test%' OR titel LIKE '%test%') AND kat ='.

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

## #16 — Vide, 2001-02-19T23:34Z

hur får du kat till en selectsats? :)

Har du ändrat:

kon = Request.Form("kon")

till 

kat = Request.Form("kat")

??

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

## #17 — Kent, 2001-02-20T01:38Z

Japp det har jag, använder
kat = Request.QueryString("kat")

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

## #18 — Vide, 2001-02-20T08:13Z

Och hur ser formuläret ut? namnet på kat, och värdenna...

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

## #19 — Kent, 2001-02-20T13:46Z

Så här,
\<form action="default.asp"\>
\<input type="text" name="sokning"\>
\<select name="kat"\>
\<option\>Sök
\<option value="1"\>Val 1
\<option value="2"\>Val 2
\</select\>\<br\>
\<input type="submit" value="Sök"\>

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

## #20 — Vide, 2001-02-20T14:53Z

Vilken datatyp har du på fältet kat?

Ändra
\<option\>Sök

till
\<option value=""\>Sök

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/8332-välj-sökning  
Nästa sida: https://www.webforum.nu/amne/asp/8332-välj-sökning/page2.md
