---
title: "Om inte en är vald?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/174848-om-inte-en-är-vald/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "parse"
published: "2008-10-19T19:30:29.000Z"
updated: "2009-01-31T16:03:21.000Z"
replies: 33
views: 1449
page: 2
pages: 2
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/174848-om-inte-en-är-vald"
---

# Om inte en är vald?

_Sida 2 av 2._

## #21 — parse, 2009-01-24T13:40Z

Jo, det förstår jag. Men jag får ändå felmedelande.

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 
\[Microsoft\]\[ODBC Microsoft Access Driver\] Syntax error in ORDER BY clause.

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

## #22 — @nders, 2009-01-24T14:40Z

Då vill vi se hela koden som genererar SQL-frågan, och allra helst den färdiga SQL-frågan.

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

## #23 — parse, 2009-01-25T00:30Z

```
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("p.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM p WHERE title LIKE '%%" & Request.Form("sok") & "%%' AND c = '"& Request.Form("c") &"' AND s = '" & Request.Cookies ("s") & "'   AND p BETWEEN " & CLng(Request.Form("f")) & " AND "& CLng(Request.Form("t")) &" "

If Len(Request.Form("y"))>0 Then
   strSQL = strSQL & " AND y = " & CLng(Request.Form("y"))
End If
If Len(Request.Form("a"))>0 Then
 strSQL = strSQL & " AND a = '" & SafeParam(Request.Form("a")) & "' ORDER BY id DESC"
End If
If Len(Request.Form("f"))>0 Then
   strSQL = strSQL & " AND f = '" & SafeParam(Request.Form("f")) & "'"
End If
If Len(Request.Form("m"))>0 Then
   strSQL = strSQL & " AND m = '" & SafeParam(Request.Form("m")) & "'"
End If
```

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

## #24 — @nders, 2009-01-25T07:35Z

Order by ska vara sist. Kan det inte hända att du skickar f och / eller m om du skickar a?

Om du skriver ut SQL-frågan istället för att exekvera den är det lättare för dig att se vad som är fel.

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

## #25 — parse, 2009-01-25T13:29Z

> **@nders skrev:**
>
> Om du skriver ut SQL-frågan istället för att exekvera den är det lättare för dig att se vad som är fel.

Hur gör jag det?

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

## #26 — Peter S, 2009-01-25T13:47Z

response.write strSql
response.end

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

## #27 — @nders, 2009-01-25T15:35Z

edit: det fanns visst ett inlägg på sida 2 också - vilket gör detta inlägg onödigt.

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

## #28 — parse, 2009-01-25T22:27Z

SELECT \* FROM p WHERE title LIKE '%%%%' AND c = 'test' AND state = '1' AND p BETWEEN 10000000 AND 1 AND a = 1

Får felmedelande och inget kommer upp ifall jag har med ORDER BY.

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

## #29 — Sasch, 2009-01-28T15:45Z

edit: Missade sida 2..   :r

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

## #30 — Sasch, 2009-01-28T16:04Z

Är **a** en int? Har du valt rätt fält att ordna via?

SELECT \* FROM p WHERE title LIKE '%%%%' AND c = 'test' AND state = '1' AND p BETWEEN 10000000 AND 1 AND a = 1 ORDER BY fält

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

## #31 — parse, 2009-01-28T19:30Z

> **Sasch skrev:**
>
> Är **a** en int? Har du valt rätt fält att ordna via?
> 
> SELECT \* FROM p WHERE title LIKE '%%%%' AND c = 'test' AND state = '1' AND p BETWEEN 10000000 AND 1 AND a = 1 ORDER BY fält

A är number. Jag har ORDER BY id.

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

## #32 — @nders, 2009-01-28T19:43Z

> Får felmedelande och inget kommer upp ifall jag har med ORDER BY.

Då är jag intresserad av hur din kod ser ut när detta inträffar.

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

## #33 — parse, 2009-01-31T13:05Z

Det är otroligt skumt, nu får jag inget felmedelande alls, men det sorteras inte heller.
Jag tror de beror på att vi har 4st If Len längst ner som stryper order by?

```
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("p.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM p WHERE title LIKE '%%" & Request.Form("sok") & "%%' AND c = '"& Request.Form("c") &"' AND s = '" & Request.Cookies ("s") & "'   AND p BETWEEN " & CLng(Request.Form("f")) & " AND "& CLng(Request.Form("t")) &" "

If Len(Request.Form("y"))>0 Then
   strSQL = strSQL & " AND y = " & CLng(Request.Form("y"))
End If
If Len(Request.Form("a"))>0 Then
 strSQL = strSQL & " AND a = '" & SafeParam(Request.Form("a")) & "' ORDER BY id DESC"
End If
If Len(Request.Form("f"))>0 Then
   strSQL = strSQL & " AND f = '" & SafeParam(Request.Form("f")) & "'"
End If
If Len(Request.Form("m"))>0 Then
   strSQL = strSQL & " AND m = '" & SafeParam(Request.Form("m")) & "'"
End If
```

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

## #34 — voigtann1, 2009-01-31T16:03Z

Flytta ner:

```
If Len(Request.Form("a"))>0 Then
 strSQL = strSQL & " AND a = '" & SafeParam(Request.Form("a")) & "' ORDER BY id DESC"
End If
```

eftersom ORDER BY skall komma efter WHERE, om du nu har a och m så kommer din SQL fråga bli fel.

Skriv ut din SQL fråga och postar den så får alla se hur SQL frågan ser ut när den genereras ut.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/174848-om-inte-en-är-vald/page2  
Föregående sida: https://www.webforum.nu/amne/asp/174848-om-inte-en-är-vald.md
