---
title: "Sökning på för och efternamn?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/53580-sökning-på-för-och-efternamn"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "JPS"
published: "2002-09-17T23:01:49.000Z"
updated: "2002-09-23T13:31:28.000Z"
replies: 6
views: 253
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/53580-sökning-på-för-och-efternamn"
---

# Sökning på för och efternamn?

## #1 — JPS, 2002-09-17T23:01Z

Jag har en tabell med personuppgifter där förnamn och efternamn finns lagrat i var ett fält.

Fornamn    Efternamn
Anders       Andersson
Bosse        Bossesson

Jag har ett formulär för sök person och hur gör man för
att täcka in sökning på alla alternativ

Alt. 1 - Anders
Alt. 2 - Anders Andersson
Alt. 3 - Andersson

Hittade kod för splitt m.m. men jag får inte ihop någon SQL-sats för sökning på Anders Andersson

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

## #2 — OveRRidE, 2002-09-18T06:50Z

```
strSearch = "anders andersson"
minArray = split(strSearch," ")

SQL = "SELECT * FROM tblUsers WHERE user IN ("

for i = lbound(minarray) to ubound(minarray)
   SQL = SQL & minArray(i)
   if cint(i) <> cint(ubound(minarray)) then
      SQL = SQL & ", "
   end if
next
   SQL = SQL & ")"
```

Heeelt otestat. ;)

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

## #3 — JPS, 2002-09-18T22:22Z

Det fungerar inte - följande felkod:

```

Kompileringsfel i Microsoft VBScript (0x800A0401)
Slut på programsats förväntas.
/snippets/sok.asp, line 30, column 48
SQL = "SELECT * FROM Personuppg WHERE user IN ("for i = lbound(minarray) to ubound(minarray) SQL = SQL & minArray(i) if cint(i) <> cint(ubound(minarray)) then
-----------------------------------------------^
```

 

Jag har datan i två olika fält och jag förstår inte hur jag skall ange fält namnen enligt ditt exempel.

```
SQL = "SELECT * FROM Personuppg where Efternamn LIKE '%" & Request.Form("Sok") & "%' OR Fornamn LIKE '%" & Request.Form("Sok") & "%' "
```

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

## #4 — OveRRidE, 2002-09-19T06:46Z

> **JPS skrev:**
>
> Det fungerar inte - följande felkod:
>
>
> ```
> 
> Kompileringsfel i Microsoft VBScript (0x800A0401)
> Slut på programsats förväntas.
> /snippets/sok.asp, line 30, column 48
> SQL = "SELECT * FROM Personuppg WHERE user IN ("for i = lbound(minarray) to ubound(minarray) SQL = SQL & minArray(i) if cint(i) <> cint(ubound(minarray)) then
> -----------------------------------------------^
> ```
>
> 
> Jag har datan i två olika fält och jag förstår inte hur jag skall ange fält namnen enligt ditt exempel.
> 
>
>
> ```
> SQL = "SELECT * FROM Personuppg where Efternamn LIKE '%" & Request.Form("Sok") & "%' OR Fornamn LIKE '%" & Request.Form("Sok") & "%' "
> ```

Det är klart att det inte fungerar, koden skall vara som den är skriven. Meningen med den är att generera fram variabeln SQL och sedan exekvera den. Du har ju klämt ihop allt på samma rad. :D

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

## #5 — OveRRidE, 2002-09-19T06:52Z

```
strSearch = "anders andersson"
' // dela söksträngen med split(), använd mellanslag som separerare
minArray = split(strSearch," ")

' // här skapar vi den första delen av SQL-strängen
SQL = "SELECT * FROM tblUsers WHERE user IN ("

' // här loopar vi igenom arrayen (som vi skapade på första raden)
' // och genererar klart SQL-strängen med värdena i
for i = lbound(minarray) to ubound(minarray)
   SQL = SQL & minArray(i)
   if cint(i) <> cint(ubound(minarray)) then
      SQL = SQL & ", "
   end if
next
   ' // lägg till en sista sak, efter loopen
   SQL = SQL & ")"

' // och här KÖR vi SQL-strängen
set objRs = objConn.execute(SQL)
```

 :)

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

## #6 — erka, 2002-09-19T07:27Z

Kan se hur jag gjorde

<http://www.webforum.nu/showthread.php?s=&postid=442387#post442387>

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

## #7 — JPS, 2002-09-23T13:31Z

Tackar för alla svar - koden 

```
strSearch = replace(strSearch," ","%")
q = "select * from (select dbo.DistributorContacts.ForeName + ' ' + dbo.DistributorContacts.LastName AS ContactName from t) s
where s.contactName like '%" & strSearch & "%'"
```

 

där fälten läggssamman funkar super!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/53580-sökning-på-för-och-efternamn
