---
title: "Sökmotor"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/119053-sökmotor"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "eko"
published: "2005-01-01T03:27:03.000Z"
updated: "2005-01-02T12:00:53.000Z"
replies: 6
views: 455
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/119053-sökmotor"
---

# Sökmotor

## #1 — eko, 2005-01-01T03:27Z

Hej.

Jag vill ta bort hela selectväljaren.
Så att man automatiskt söker i alla fälten sammtidigt! Utan att behöva välja. Hur gör jag detta?
Det skall alltså bara vara ett sökfält och en knapp bort med resten...

```
<%
db = Server.MapPath("db/nyheter.mdb")
Tabbe = "nyheter"
falt1 = "Id"
falt2 = "Rubrik"
falt3 = "Nyhet"
falt4 = "Datum"
falt5 = "Skribent"
%>

<%If Request.QueryString("do") = "" Then%>
<table cellspacing="0" cellpadding="0" width="300" border="0">
  <tr> 
    
  </tr>
  <tr> 
    <form name="sok" method="post" action="search.asp?do=sok">
      <td><input type="text" name="sokord" size="22" maxlength="20"> &nbsp; <select name="falt">
          <option value="<%=falt2%>" name="falt"><%=falt2%> 
          <option value="<%=falt3%>" name="falt"><%=falt3%> 
          <option value="<%=falt4%>" name="falt"><%=falt4%> 
          <option value="<%=falt5%>" name="falt"><%=falt5%> </select> &nbsp; <input type="submit" name="Submit" value="Sök"></td>
    </form>
  </tr>
</table>
<%End If

If Request.QueryString("do") = "sok" Then%>

<table cellspacing="0" cellpadding="0" width="300" border="0">
  <tr> </tr>
  <tr> 
    <form name="sok" method="post" action="search.asp?do=sok">
      <td><input type="text" name="sokord" size="22" maxlength="20"> &nbsp; <select name="falt">
          <option value="<%=falt2%>" name="falt"><%=falt2%> 
          <option value="<%=falt3%>" name="falt"><%=falt3%> 
          <option value="<%=falt4%>" name="falt"><%=falt4%> 
          <option value="<%=falt5%>" name="falt"><%=falt5%> </select> &nbsp; <input type="submit" name="Submit" value="Sök"></td>
    </form>
  </tr>
  <tr> </tr>
  <tr> </tr>
  <tr> 
    <td>&nbsp;</td>
  </tr>
  <tr> 
    <td><strong>Search Results</strong></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <%Falt = Trim(Request.Form("falt"))

        If Len(Request.Form("sokord")) > 0 then 

        Set Conn = Server.CreateObject("ADODB.Connection")
        Set RecSet    = Server.CreateObject("ADODB.Recordset")
        Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db

        SQL = "Select * From " & Tabbe & " Where " & Falt & " Like '%" & Request.Form("sokord") & "%' Order By " & falt1 & " Desc"
        RecSet.Open SQL, Conn

 	If RecSet.EOF Then
            Response.write "<tr><td class=normal>Your search of <b>" & Request.Form("sokord") & "</b> returned no results</td></tr>"
        Else
        Do Until RecSet.EOF
            Response.Write "<tr height=15><td class=normal><b>»</b> <a href=search.asp?do=visa&id=" & RecSet(falt1) & ">" & Left(RecSet(falt2),30) & "</a></td></tr>"
            
        RecSet.MoveNext
	Loop

	RecSet.Close
	Set RecSet = Nothing
        End If
   Else
       Response.write "<tr><td class=normal>Please try again...</td></tr>"
   End If%>
</table>

<%End If

If Request.QueryString("do") = "visa" Then
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db

  Set RecSet = Conn.Execute("Select * From " & Tabbe & " Where id=" & Request.QueryString("id"))%>

<table cellspacing="0" cellpadding="0" width="300">
  <tr> 
      <td><b><%=RecSet(falt2)%> - <%=RecSet(falt4)%></b></td>
    </tr>
  <tr> 
      
    <td></td>
    </tr>
    <tr> 
      
    <td class="normal"><%=Replace(RecSet(falt3), vbCrLf, "<br>")%></td>
    </tr>
 </table>
<%End If%>
```

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

## #2 — emission, 2005-01-01T13:32Z

```
<%
db = Server.MapPath("db/nyheter.mdb")
Tabbe = "nyheter"
falt1 = "Id"
falt2 = "Rubrik"
falt3 = "Nyhet"
falt4 = "Datum"
falt5 = "Skribent"
%>

<%If Request.QueryString("do") = "" Then%>
<table cellspacing="0" cellpadding="0" width="300" border="0">
  <tr> 
    
  </tr>
  <tr> 
    <form name="sok" method="post" action="search.asp?do=sok">
      <td><input type="text" name="sokord" size="22" maxlength="20">     <input type="submit" name="Submit" value="Sök"></td>
    </form>
  </tr>
</table>
<%End If

If Request.QueryString("do") = "sok" Then%>

<table cellspacing="0" cellpadding="0" width="300" border="0">
  <tr> </tr>
  <tr> 
    <form name="sok" method="post" action="search.asp?do=sok">
      <td><input type="text" name="sokord" size="22" maxlength="20">     <input type="submit" name="Submit" value="Sök"></td>
    </form>
  </tr>
  <tr> </tr>
  <tr> </tr>
  <tr> 
    <td> </td>
  </tr>
  <tr> 
    <td><strong>Search Results</strong></td>
  </tr>
  <tr>
    <td> </td>
  </tr>
  <%Falt = Trim(Request.Form("falt"))

        If Len(Request.Form("sokord")) > 0 then 

        Set Conn = Server.CreateObject("ADODB.Connection")
        Set RecSet    = Server.CreateObject("ADODB.Recordset")
        Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db

        SQL = "Select * From " & Tabbe & " Where " & falt1 & " Like '%" & Request.Form("sokord") & "%' OR " & falt2 & " Like '%" & Request.Form("sokord") & "%' OR " & falt3 & " Like '%" & Request.Form("sokord") & "%' OR " & falt4 & " Like '%" & Request.Form("sokord") & "%' OR " & falt5 & " Like '%" & Request.Form("sokord") & "%' Order By " & falt1 & " Desc"
        RecSet.Open SQL, Conn

 	If RecSet.EOF Then
            Response.write "<tr><td class=normal>Your search of <b>" & Request.Form("sokord") & "</b> returned no results</td></tr>"
        Else
        Do Until RecSet.EOF
            Response.Write "<tr height=15><td class=normal><b>»</b> <a href=search.asp?do=visa&id=" & RecSet(falt1) & ">" & Left(RecSet(falt2),30) & "</a></td></tr>"
            
        RecSet.MoveNext
	Loop

	RecSet.Close
	Set RecSet = Nothing
        End If
   Else
       Response.write "<tr><td class=normal>Please try again...</td></tr>"
   End If%>
</table>

<%End If

If Request.QueryString("do") = "visa" Then
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db

  Set RecSet = Conn.Execute("Select * From " & Tabbe & " Where id=" & Request.QueryString("id"))%>

<table cellspacing="0" cellpadding="0" width="300">
  <tr> 
      <td><b><%=RecSet(falt2)%> - <%=RecSet(falt4)%></b></td>
    </tr>
  <tr> 
      
    <td></td>
    </tr>
    <tr> 
      
    <td class="normal"><%=Replace(RecSet(falt3), vbCrLf, "<br>")%></td>
    </tr>
 </table>
<%End If%>
```

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

## #3 — eko, 2005-01-01T15:10Z

Tack emission! Helt perfekt!  ;)

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

## #4 — eko, 2005-01-01T17:41Z

Får följande mess:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] För få parametrar angavs. 2 förväntades.
/html/Site/guestbook_search.asp, line 59

Vad är detta för fel? På line 59 står det: RecSet.Open SQL, Conn

```
<%
db = Server.MapPath("db/guestbook.mdb")
Tabbe = "inlagg"
falt1 = "Id"
falt2 = "Namn"
falt3 = "E-mail"
falt4 = "Hemsida"
falt5 = "Meddelande"
%>
<table width="100%" border="0">
  <tr> 
    <td>Search in the Guestbook</td>
  </tr>
  <tr>
    <td>

<%If Request.QueryString("action") = "" Then%>
<table cellspacing="0" cellpadding="0" width="300" border="0">
  <tr> 
    
  </tr>
  <tr> 
    <form name="sok" method="post" action="?NODE=8&action=search">
      <td><input type="text" name="sokord" size="22" maxlength="20">     <input type="submit" name="Submit" value="Sök"></td>
    </form>
  </tr>
</table>
<%End If

If Request.QueryString("action") = "search" Then%>

<table cellspacing="0" cellpadding="0" width="300" border="0">
  <tr> </tr>
  <tr> 
    <form name="action" method="post" action="?NODE=8&action=search">
      <td><input type="text" name="sokord" size="22" maxlength="20">     <input type="submit" name="Submit" value="Sök"></td>
    </form>
  </tr>
  <tr> </tr>
  <tr> </tr>
  <tr> 
    <td> </td>
  </tr>
  <tr> 
    <td><strong>Search Results</strong></td>
  </tr>
  <tr>
    <td> </td>
  </tr>
  <%Falt = Trim(Request.Form("falt"))

        If Len(Request.Form("sokord")) > 0 then 

        Set Conn = Server.CreateObject("ADODB.Connection")
        Set RecSet    = Server.CreateObject("ADODB.Recordset")
        Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db

        SQL = "Select * From " & Tabbe & " Where " & falt1 & " Like '%" & Request.Form("sokord") & "%' OR " & falt2 & " Like '%" & Request.Form("sokord") & "%' OR " & falt3 & " Like '%" & Request.Form("sokord") & "%' OR " & falt4 & " Like '%" & Request.Form("sokord") & "%' OR " & falt5 & " Like '%" & Request.Form("sokord") & "%' Order By " & falt1 & " Desc"
        RecSet.Open SQL, Conn

 	If RecSet.EOF Then
            Response.write "<tr><td class=normal>Your search of <b>" & Request.Form("sokord") & "</b> returned no results</td></tr>"
        Else
        Do Until RecSet.EOF
            Response.Write "<tr height=15><td class=normal><b>»</b> <a href=?NODE=8&action=show&ID=" & RecSet(falt1) & ">" & Left(RecSet(falt2),30) & "</a></td></tr>"
            
        RecSet.MoveNext
	Loop

	RecSet.Close
	Set RecSet = Nothing
        End If
   Else
       Response.write "<tr><td class=normal>Please try again...</td></tr>"
   End If%>
</table>

<%End If

If Request.QueryString("action") = "show" Then
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db

  Set RecSet = Conn.Execute("Select * From " & Tabbe & " Where id=" & Request.QueryString("ID"))%>

<table cellspacing="0" cellpadding="0" width="300">
  <tr> 
      <td><b><%=RecSet(falt2)%> - <%=RecSet(falt4)%></b></td>
    </tr>
  <tr> 
      
    <td></td>
    </tr>
    <tr> 
      
    <td class="normal"><%=Replace(RecSet(falt3), vbCrLf, "<br>")%></td>
    </tr>
 </table>
<%End If%></td>
  </tr>
</table>
```

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

## #5 — @nders, 2005-01-01T19:42Z

1) Läs om hur "acceptera som slutgiltigt svar" ska användas: <http://www.webforum.nu/misc.php?s=&action=faq&page=2#status>
2) Skriv ut färdig SQL-fråga för felsökning. Felmeddelandet betyder att det har angetts två felaktiga tabell- / fältnamn i frågan.

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

## #6 — @nders, 2005-01-02T07:51Z

Antagligen beror felet på att du har ett fält som heter E-mail. Det tolkas i SQL-frågan som fältet *E* minus fältet *Mail*. Byt namn på det fältet.

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

## #7 — eko, 2005-01-02T12:00Z

Ja det var email fältet som spökade....
Nu funkar det, Tack Tack.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/119053-sökmotor
