---
title: "Söka på bokstav eller från formulär"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/13240-söka-på-bokstav-eller-från-formulär"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Choronzon"
published: "2001-12-17T21:09:00.000Z"
updated: "2001-12-17T23:40:00.000Z"
replies: 10
views: 200
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/13240-söka-på-bokstav-eller-från-formulär"
---

# Söka på bokstav eller från formulär

## #1 — Choronzon, 2001-12-17T21:09Z

Hej, kan någon vänlig själ hjälpa mig med att få sökfunktionen att fungera? 
Jag har en databas, members, från den plockar jag ut medlemmar och nu vill jag kunna söka på första bokstaven i förnamnet plus att jag vill kunna skriva in ett namn i en input och få upp alla ev träffar på det. Jag har sökt här på forumet och fått många träffar på frågan, men jag har tydligen missat något grundläggande för jag fattar inte hur jag ska göra ändå..ett felmeddelande jag får är att end saknas efter set connect="nothing.."

Tack på förhand. 

\---------------------sok.asp---------------------------
\<html\>
 \<head\>
  \<title\>sok.asp\</title\>
 \</head\>
\<body\>
 \<a href="search_users.asp?boks=A"\>A\</a\>
 \<a href="search_users.asp?boks=B"\>B\</a\>
 \<a href="search_users.asp?boks=C"\>C\</a\>
D
E
osv.. \<br\>
  
 \<form method="post" name="form" action="search_users.asp"\>
  \<input name"sokinput" size="20"\>
  \<input type="submit" name="submit" value="sok"\>
 \</form\>
\</body\>
\</html\>

\------------------search_users.asp----------------------
\<!-- #include file="include/adovbs.inc" --\>

\<%

If Session("login") \<\> "ok" Then
	Session("meddelande") = "Du har blivit utloggad!"
	Response.Redirect "default.asp"
End If

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (\*.mdb)};dbq=" & Server.MapPath("db/members.mdb")&";pwd=losen"

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select \* From members  Where fnamn LIKE '"&bokstav&"%'ORDER BY datum"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

If request.form("sokinput") \<\> "" Then
	bokstav = request.form("sokinput")

Else if request.querystring("boks") \<\> "" Then
	bokstav = request.querystring("boks")
	
Else
response.redirect(fel.asp)
End if

%\>

\<html\>
 \<head\>
  \<title\>search_users.asp\</title\>
 \</head\>
\<body\>

   \<table\>
  \<tr\> 
    \<td\>Medlemmar\</td\>
  \</tr\>
  \<tr\> 
    \<td\> 
      \<table\>
        \<tr\> 
          \<td\>Lägg till?\</td\>
          \<td\>Namn\</td\>
          \<td\>Hur\</td\>
          \<td\>Status\</td\>
          \<td\>Senast påloggad\</td\>
        \</tr\>
\<%
X = 0
DO Until RecSet.EOF OR X = 50
X=X+1
%\>
        \<tr\> 
          \<td\>\<a href="whois.asp?checkid=\<%=RecSet("id")%\>"\>\<%=RecSet("fnamn")%\>\</a\>\</td\>
          \<td\>\<%=RecSet("enamn")%\>\</td\>
          \<td\>\<font size="1" \<%if recset("status") = "offline" then%\> color="#FF0000" \<%else%\>color="#00CC00" \<%end if%\>"\>\<%=RecSet("status")%\>\</font\>\</td\>
          \<td\>\<%=RecSet("datum")%\>\</td\>
        \</tr\>

\<%

RecSet.MoveNext
Loop

RecSet.Close
Connect.Close

Set RecSet = nothing
Set Connect = nothing

%\>

      \</table\>
    \</td\>  
  \</tr\>
\</table\>    
\</body\>
\</html\>

\[Redigerat av Choronzon den 17 dec 2001\]

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

## #2 — LarsG, 2001-12-17T21:20Z

Else if 

skrivs som ett ord

elseif

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

## #3 — Choronzon, 2001-12-17T21:56Z

Ok tack, det fungerar att få upp medlemmarna nu, men oavsett vilken bokstav jag trycker på så kommer alla medlemmar upp..
Och formuläret funkar inte alls..?

\---------------------sok.asp---------------------------
\<html\>
 \<head\>
  \<title\>sok.asp\</title\>
 \</head\>
\<body\>
\<a href="search_users.asp?boks=A" target="mainFrame"\>A\</a\>
B
C
...osv
 \<br\>
  
 \<form method="post" name="form" action="search_users.asp"\>
  \<input name"sokinput" size="20"\>
  \<input type="submit" name="submit" value="sok"\>
 \</form\>
\</body\>
\</html\>

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

## #4 — LarsG, 2001-12-17T22:02Z

Variabeln bokstav ges aldrig något värde innan du gör select.

```
If request.form("sokinput") <> "" Then
bokstav = request.form("sokinput")

Elseif request.querystring("boks") <> "" Then
bokstav = request.querystring("boks")

Else
response.redirect "fel.asp"
End if

Addera = "Select * From members Where fnamn LIKE '"& bokstav&"%'ORDER BY datum"
```

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

## #5 — Choronzon, 2001-12-17T22:59Z

Funkar perfekt med bokstäverna, tackar för det :)
Men jag får inte formuläret att funka, ska jag skriva länkningen på något annat sätt?

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

## #6 — LarsG, 2001-12-17T23:07Z

Som det är nu så borde du hitta alla vars namn börjar på sökbegreppet. (Eller?)

Om du vill hitta alla namn som innehåller :

```
If request.form("sokinput") <> "" Then
bokstav = request.form("sokinput")
Elseif request.querystring("boks") <> "" Then
bokstav = "%" & request.querystring("boks")

Else
response.redirect "fel.asp"
End if

Addera = "Select * From members Where fnamn LIKE '"& bokstav&"%'ORDER BY datum"
```

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

## #7 — Choronzon, 2001-12-17T23:12Z

Ska testa det senaste!

Vad jag menar med att jag vill göra med formuläret är att skriva in ett förnamn och så ska alla med det namnet listas, annars vill jag skicka dom till fel.asp.

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

## #8 — Choronzon, 2001-12-17T23:21Z

Nja, det funkar som jag hade tänkt när jag klickar på bokstavslänkarna, det är själva formuläret som jag inte får att fungera.

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

## #9 — LarsG, 2001-12-17T23:21Z

vad händer nu när du fyller i fältet?

Om du vill ha en exakt match på förnamnet så får du skriva 

```
If request.form("sokinput") <> "" Then
bokstav = request.form("sokinput")
Addera = "Select * From members Where fnamn = '"& bokstav&"'ORDER BY datum"

Elseif request.querystring("boks") <> "" Then
bokstav = request.querystring("boks")Addera = "Select * From members Where fnamn LIKE '"& bokstav&"%'ORDER BY datum"

Else
response.redirect "fel.asp"
End if
```

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

## #10 — LarsG, 2001-12-17T23:25Z

Jag såg ett fel i din HTML-kod, du saknar ett = vid name för inputfältet.

```
<input name="sokinput" size="20">
```

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

## #11 — Choronzon, 2001-12-17T23:40Z

Ahh, att ett litet tecken kan göra så mycket. 
Tusen tack för hjälpen med allt, nu ska jag bara sätta mig och försöka förstå vad jag gjort så jag minns det till nästa gång!
:)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/13240-söka-på-bokstav-eller-från-formulär
