---
title: "[ och ] ställer till det..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11425-och-ställer-till-det"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Pace"
published: "2001-09-01T14:09:00.000Z"
updated: "2001-09-01T15:10:00.000Z"
replies: 4
views: 170
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/11425-och-ställer-till-det"
---

# [ och ] ställer till det...

## #1 — Pace, 2001-09-01T14:09Z

```
SELECT ForumForums.*, ForumReplys.*, ForumTopics.* FROM (ForumForums LEFT JOIN ForumTopics ON ForumForums.Forum_ID = ForumTopics.Forum_id) LEFT JOIN ForumReplys ON ForumTopics.Topic_ID = ForumReplys.Topic_ID WHERE (ForumForums.F_Description LIKE '%[%' OR ForumReplys.R_Message LIKE '%[%' OR ForumTopics.T_Message LIKE '%[%' ) ORDER BY ForumTopics.topic_id
```

Från följande SQL sats får jag felet:

```
Microsoft JET Database Engine fel '80040e14' 

Invalid pattern string
```

Det uppstår när jag matar in ett \[ tecken i sökfältet som "kodas om" till LIKE '%\[%' ... Hur ska man göra för att undgå detta?

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

## #2 — LarsG, 2001-09-01T14:38Z

Dy kan ju testa med att byta \[ mot \[\[\]

Vet inte om det hjälper dock.

Det finns en escape klausul i SQL

```
col like '%\[%' escape '\'
```

vilket betyder att \[ inte tolkas som ett specialtecken, vet ej om Access stöder detta dock.

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

## #3 — Pace, 2001-09-01T14:54Z

Helsjukt fel...
Jag gjorde i alla fall en funktion som fixar till strängen innan den körs i databasen (escape funkade inte i access):

```
' Sjuk buggfix:
' Gör om [ till [] om det inte finns någon ] i strängen.
' Ex: "Hesjan [hoppsan" blir "Hejsan []hoppsan".
Function convChar(tmp)
If inStr(tmp, "[") And Not inStr(tmp, "]") Then
tmp = Replace(tmp, "[", "[]")
End If
convChar = tmp
End Function
```

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

## #4 — LarsG, 2001-09-01T15:04Z

I access kan man använda uttryck som

```
c1 like 'A[BCD]E'
```

vilket matchar ABE ACE ADE

så att skriva 

```
c1 like '%[]%'
-- eller
c1 like '%%'
```

är samma sak

däremot så borde

```
c1 like '%[[]%'
```

matcha en sträng som innehåller \[

Så om du byter \[ mot \[\] så blir väl din sökning inte korrekt.

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

## #5 — Pace, 2001-09-01T15:10Z

Jo, konstigt nog så gjorde det.
Det blir fel så fort jag anger ett \[ men inte avslutar med ett \]...

```
Ex: Nu söker jag efter ett [ tecken och detta kommer inte att funka
```

Ovanstående blir fel eftersom \[ inte avslutas. Men däremot så kvittar det hur många \] jag skriver efteråt:

```
Ex: Nu söker jag efter []] och detta kommer faktiskt att funka!
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/11425-och-ställer-till-det
