---
title: "Sök anställd"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/67120-sök-anställd"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Skarre"
published: "2003-02-04T08:43:21.000Z"
updated: "2003-02-04T17:17:15.000Z"
replies: 5
views: 293
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/databaser-sql/67120-sök-anställd"
---

# Sök anställd

## #1 — Skarre, 2003-02-04T08:43Z

```
SELECT * FROM personnel WHERE firstname LIKE '" & strString & "' OR lastname LIKE '" & strString "'"
```

Ovanstående fungerar utmärkt om man söker på antingen för- eller efternamn, men inte om man t.ex. skriver "Andreas Skarin" eller "Skarin Andreas". Jag tänkte först dela upp strängen och göra en sökning för varje delsträng, men tänkte att man kanske kan fixa detta i SQL-frågan. Jag kör ASP och MS Access.

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

## #2 — erka, 2003-02-04T08:46Z

Bygg ihop hela namnet i din fråga med
Select bla,bla,bla, firstname+' '+surname as UsrName Where UsrName  LIKE '" & strString "'

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

## #3 — LarsG, 2003-02-04T09:46Z

```
q = "SELECT * " & _
"FROM personnel " &_
" WHERE firstname = '" & strString & "'" & _ 
" OR lastname = '" & strString & "'" & _
" OR firstname & ' ' & lastname = '" & strString & "'" &_
" OR lastname & ' ' & firstname = '" & strString & "'"
```

Alternativt så kan du ha separata fält för för- och efternamn så vet du vad som är vad.

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

## #4 — Engine^, 2003-02-04T09:51Z

Antingen så eller så får du testa att göra en Split på söksträngen på mellanslag. Något i stil med:

```
Dim astrNames() As String
Dim strWhere As String

strWhere = vbNullString
astrNames = Split(strSearch, " ")

For i = 0 To Ubound(astrNames) - 1
    strWhere = strWhere & "firstname LIKE '" & astrNames(i) & "' OR lastname LIKE '" & _
        astrNames(i) & "' "
    If i < Ubound(astrNames) - 1 Then
        strWhere = strWhere & "OR "
    End If
Next i

strSQL = "SELECT * FROM personnel WHERE " & strWhere & ";"
```

/r. eller så gör du som LarsG föreslår :)   (Hålla på å skriva vettiga svar samtidigt som jag skriver annan typ av svar... sicken en ;))

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

## #5 — Skarre, 2003-02-04T16:23Z

Tack för hjälpen allihop! Jag kör på LarsGs kod eftersom den aldrig svikit mig tidigare. :)

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

## #6 — Engine^, 2003-02-04T17:17Z

Din attan ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/67120-sök-anställd
