---
title: "ja igen: sökfunktion med många fält."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/40479-ja-igen-sökfunktion-med-många-fält"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Lazerzubb"
published: "2002-03-28T14:09:20.000Z"
updated: "2002-03-31T10:50:04.000Z"
replies: 17
views: 425
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/40479-ja-igen-sökfunktion-med-många-fält"
---

# ja igen: sökfunktion med många fält.

## #1 — Lazerzubb, 2002-03-28T14:09Z

Ja först, den som orkar svara: STORT TACK!!!.

Jag har en access databas, det finns dessa fält.
province, city, price, bedr, bathr och type. 
Sökfomuläret finns [Här](http://www.reseinfo.com/search.htm)

ja nu skulle jag behöva hjälp med en funktion som gör så att detta funkar  :e  

någon som har något förslag på kod???

Tack på förhand.

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

## #2 — juventus1, 2002-03-28T14:24Z

Något i stil med detta borde väl fungera:

```
sql = "SELECT * FROM Tabell WHERE province LIKE '%" & Request.Form("province") & "%' OR city LIKE '%" & Request.Form("city") & "%' osv ORDER BY price"
```

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

## #3 — Lazerzubb, 2002-03-28T14:28Z

Nah, det är det som är problemmet det är nog lite klurigare än så.
"Sökaren" 
Kan typ söka så här
Det är en hon nu.
Hon väljer "Province" i dropdown menyn, sedan skriver hon in en stad i fältet under.
Hon vill att det ska kosta mellan 100.000-500.000 och väljer därför 100.000 som minimum pris och 500.000 som maximum, sedan väljer hon vad minsta antalet sovrum är men bryr sig inte om badrum, och sedan vill hon bara söka bland villorna.

[En liknande funktion](http://www.idouglaselliman.com/search_mansales.asp)

Ja vet mycket komplicerat!!!
Sitter och går igenom en sökning på "sökfunktion" i detta forumet  nu; Oj vad många trådar det finns.

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

## #4 — Lazerzubb, 2002-03-29T16:36Z

Gör jag det för svårt för mig?
Går det att få en sökfuntion liknande den som jag vill ha med lite mer av den kod som  juventus1 visade?

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

## #5 — solbulle, 2002-03-29T16:46Z

Det ska väl inte vara något större problem (om man kan det  ;)  )
utgår man från koden du har ska du väl till att börja med byta ut OR mot AND och sen måste du fixa till att den tar med \< och \> än dina Price-värden.

Börjar du knacka lite lär nog LarsG el. ngn annan klippa komma och putsa till det hela åt dig.  :)

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

## #6 — Lazerzubb, 2002-03-29T16:48Z

Ska börja nu :)

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

## #7 — Lazerzubb, 2002-03-29T17:58Z

Så här långt har jag kommit hittils.

```
<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=C:/databas.mdb"

SQL = "SELECT * From mindb WHERE province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")& "%'  **--''--**
AND price BETWEEN '" & Request.Form("LPrice")& "%' AND '" & Request.Form("HPrice")& "%' **Inte break i koden**
AND bedr BETWEEN '" & Request.Form("beds")& "%' AND '" & Request.Form("bedsh")& "%' **Inte break i koden**
AND bathr BETWEEN '" & Request.Form("baths")& "%' AND '" & Request.Form("bathsh")& "%' **Inte break i koden**
AND type LIKE '" & Request.Form("typ")& "%'"
set rs=Connect.Execute(SQL)

if not rs.eof then
do until rs.eof
%>
```

Vad ska jag rätta till hittils???
Jag har hemliga fält med "bedsh" och "bathsh" som är maximumtal.
Och hur gör man när man vill ha ny rad utan ett att koden slutar fungera???  :stud :r

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

## #8 — solbulle, 2002-03-29T18:53Z

```
SQL = "SELECT * From mindb WHERE province LIKE '" &_
 Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%' AND price BETWEEN '" & Request.Form("LPrice")& "%' AND '" & Request.Form("HPrice")&_
 "%' AND bedr BETWEEN '" & Request.Form("beds")& "%' AND '" & Request.Form("bedsh")&_
 "%' AND bathr BETWEEN '" & Request.Form("baths")& "%' AND '" & Request.Form("bathsh")&_
 "%' AND type LIKE '" & Request.Form("typ")& "%'"
```

Det var radbrytningarna det.

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

## #9 — Lazerzubb, 2002-03-29T20:16Z

Microsoft VBScript compilation error '800a03ea' 

Syntax error 

/results.asp, line 71 

else
^

```
<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=C:/mindb"

SQL = "SELECT * From star WHERE province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%' AND price BETWEEN '" & Request.Form("LPrice")& "%' AND '" & Request.Form("HPrice")&_
 "%' AND bedr BETWEEN '" & Request.Form("beds")& "%' AND '" & Request.Form("bedsh")&_
 "%' AND bathr BETWEEN '" & Request.Form("baths")& "%' AND '" & Request.Form("bathsh")&_
 "%' AND type LIKE '" & Request.Form("typ")& "%'"

set rs=Connect.Execute(SQL)

if not rs.eof then
do until rs.eof
%><a href="detalj.asp?id=<%=rs("ID")%>"><%=rs("ID")%></A><br><BR>
<%rs.movenext
loop
end if
else
%>Hittade inget.<%
end if

rs.close
set rs=Nothing
Connect.close
set connect=nothing
```

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

## #10 — solbulle, 2002-03-29T22:33Z

```
<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=C:/mindb"

SQL = "SELECT * From star WHERE province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%' AND price BETWEEN '" & Request.Form("LPrice")& "%' AND '" & Request.Form("HPrice")&_
 "%' AND bedr BETWEEN '" & Request.Form("beds")& "%' AND '" & Request.Form("bedsh")&_
 "%' AND bathr BETWEEN '" & Request.Form("baths")& "%' AND '" & Request.Form("bathsh")&_
 "%' AND type LIKE '" & Request.Form("typ")& "%'"

set rs=Connect.Execute(SQL)

if not rs.eof then
do until rs.eof

response.write "<a href='detalj.asp?id=" & rs("ID") & "'>" & rs("ID") & "</A><BR><BR>"

rs.movenext
loop

else
response.write "Hittade inget."
end if

rs.close
set rs=Nothing
Connect.close
set connect=nothing
```

tror jag blir lite bättre.

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

## #11 — Lazerzubb, 2002-03-30T08:08Z

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

\[Microsoft\]\[ODBC Microsoft Access Driver\] Too few parameters. Expected 1. 

/results.asp, line 63 

```
SQL = "SELECT * From star WHERE province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%' AND price BETWEEN '" & Request.Form("LPrice")& "%' AND '" & Request.Form("HPrice")&_
 "%' AND bedr BETWEEN '" & Request.Form("beds")& "%' AND '" & Request.Form("bedsh")&_
 "%' AND bathr BETWEEN '" & Request.Form("baths")& "%' AND '" & Request.Form("bathsh")&_
 "%' AND type LIKE '" & Request.Form("typ")& "%'"
 (Line 63)
set rs=Connect.Execute(SQL)

if not rs.eof then
do until rs.eof

response.write "<a href='detalj.asp?id=" & rs("ID") & "'>" & rs("ID") & "</A><BR><BR>"
```

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

## #12 — solbulle, 2002-03-30T09:48Z

Kanske ska det vara lite mer %-tecken?

Var är ni alla som kan?

```
SQL = "SELECT * From mindb WHERE province LIKE '%" & Request.Form("city")& "%' OR city LIKE '%" & Request.Form("city")&_
 "%' AND price BETWEEN '%" &  Request.Form("LPrice")& "%' AND '%" & Request.Form("HPrice")& "%' AND bedr BETWEEN '%" &_
 Request.Form("beds")& "%' AND '%" & Request.Form("bedsh")& "%' AND bathr BETWEEN '%" &_
 Request.Form("baths")& "%' AND '%" & Request.Form("bathsh")& "%' AND type LIKE '%" & Request.Form("typ")& "%'"
```

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

## #13 — Lazerzubb, 2002-03-30T09:52Z

Det är 

```
"%' AND type LIKE '" & Request.Form("typ")& "%'"
```

Som spökar
Så här ser koden ut nu

```
If Request.Form("city") <> "" Then
SQL = "SELECT * From star WHERE province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%' AND price BETWEEN '" & Request.Form("LPrice")& "%' AND '" & Request.Form("HPrice")&_
 "%' AND bedr BETWEEN '" & Request.Form("beds")& "%' AND '" & Request.Form("bedsh")&_
 "%' AND bathr BETWEEN '" & Request.Form("baths")& "%' AND '" & Request.Form("bathsh")& "%'"

set rs=Connect.Execute(SQL)

if not rs.eof then
do until rs.eof
%><a href="detalj.asp?id=<%=rs("ID")%>"><%=rs("ID")%></A><br><BR>
<%rs.movenext
loop
end if
else
%>Hittade inget.<%
end if

rs.close
set rs=Nothing
Connect.close
set connect=nothing

%>
```

Den fungerar bra, men så fort jag lägger till den sista delen med "typ" så skiter allt sig.

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

## #14 — @nders, 2002-03-30T11:30Z

Kontrollera att fältet i tabellen verkligen heter *type*.

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

## #15 — Lazerzubb, 2002-03-30T11:35Z

det heter inte "type" det heter "htype"
 :e  :birp

Allt fungerar nu.
**TACK**

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

## #16 — Lazerzubb, 2002-03-31T08:26Z

Jag har lite problem här,
Koden vill inte skriva ut några resultat:

```
<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=min.mdb"
If Request.Form("city") <> "" Then
SQL = "SELECT * From star WHERE province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%' AND price BETWEEN '" & Request.Form("LPrice")& "%' AND '" & Request.Form("HPrice")&_
 "%' AND bedr BETWEEN '" & Request.Form("beds")& "%' AND '" & Request.Form("bedsh")&_
 "%' AND bathr BETWEEN '" & Request.Form("baths")& "%' AND '" & Request.Form("bathsh")&_
 "%' AND htype LIKE '" & Request.Form("typ")&_
 "%' AND term LIKE '" & Request.Form("sale")&_
 "%' ORDER BY price DESC"

set rs=Connect.Execute(SQL)

mSQL = "SELECT COUNT(*) from star where city LIKE '%" & Request.Form("City") & "%' AND htype LIKE '" & Request.Form("typ")&_
 "%' OR province LIKE '" & Request.Form("City")& "%' AND htype LIKE '" & Request.Form("typ")& "%'"

set rs1=Connect.Execute(mSQL)

%>
<font size="2"> <font face="Verdana, Arial, Helvetica, sans-serif" color="#0968AE">Your 
      search returned 
      <B><% Response.write RS1(0) %></B>
      results</font></font>

<%
if not rs.eof then
do until rs.eof
%>
<table width="57%" border="0" cellspacing="0" cellpadding="0" height="18">
  <tr> 
    <td width="17%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<IMG SRC="picture5.gif" alt="" border="0">
    </td>
    <td width="27%"><font face="Verdana" size="1"><%=rs("City")%><BR><%=rs("Province")%></font></td>
    <td width="12%"><font face="Verdana" size="1"><%=rs("bedr")%></font></td>
    <td width="10%"><font face="Verdana" size="1"><%=rs("bathr")%></font></td>
    <td width="14%"><font face="Verdana" size="1"><%=rs("htype")%></font></td>
    <td width="20%"><font face="Verdana" size="1">&nbsp;&euro;<%=rs("price")%></font></td>
  </tr>
</table>
      
<table width="57%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><img src="line.gif" width="560" height="1"></td>
  </tr>
</table>
<br>
<%rs.movenext
loop
end if
else
%>
Hittade inget. 
<%
end if

rs.close
set rs=Nothing
Connect.close
set connect=nothing

%>
```

Jag har dessa hidden fält i koden (söksidan)

```
  <input type="hidden" name="bathsh" value="999">
  <input type="hidden" name="bedsh" value="999">
  <input type="hidden" name="sale" value="Sale">
```

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

## #17 — solbulle, 2002-03-31T10:18Z

Är det inte lite mycket LIKE samt % samt fnuttar? (') - Beroende på om det är sifferfält el inte i db:n?

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

## #18 — Lazerzubb, 2002-03-31T10:50Z

Please explain, inte så haj på asp.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/40479-ja-igen-sökfunktion-med-många-fält
