---
title: "Lista träffarna från A och nedåt."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10465-lista-träffarna-från-a-och-nedåt"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Lazerzubb"
published: "2001-07-09T11:58:00.000Z"
updated: "2001-07-09T14:22:00.000Z"
replies: 16
views: 256
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/10465-lista-träffarna-från-a-och-nedåt"
---

# Lista träffarna från A och nedåt.

## #1 — Lazerzubb, 2001-07-09T11:58Z

Hur gör man så att träffarna från databasen listas med en SQL sats med 
A högst upp och sedan fortsättningen på alfabetet.

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

## #2 — LarsG, 2001-07-09T12:02Z

Du får lägga till en 

```
order by kolumn
```

till din select-sats.

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

## #3 — Lazerzubb, 2001-07-09T12:11Z

Var ska den ligga här.

```
mSQL="SELECT * FROM search1 WHERE " 
mWhere="(country LIKE '%%') OR (province LIKE '%%') OR (city LIKE '%%')"
```

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

## #4 — LarsG, 2001-07-09T12:16Z

Den skall alltid ligga sist i selectsatsen, dvs

```

mSQL="SELECT * FROM search1 WHERE " 
mWhere="(country LIKE '%%') OR (province LIKE '%%') OR (city LIKE '%%') order by country,province,city"
```

Nu kommer resultatet att sorteras i stigande ordning med avseende på country i första hand och med avseende på provins i andra hand och så vidare.

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

## #5 — Lazerzubb, 2001-07-09T12:24Z

```
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '((country LIKE '%Usa%') OR (province LIKE '%Usa%') OR (city LIKE '%Usa%') order by country)'.
/test/visa.asp, line 139
```

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

## #6 — LarsG, 2001-07-09T12:36Z

Nja, du måste avsluta parentesen innan order by.

```
((country LIKE '%Usa%') OR (province LIKE '%Usa%') OR (city LIKE '%Usa%')) order by country
```

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

## #7 — Lazerzubb, 2001-07-09T12:46Z

detta är ju koden

```
mSQL="SELECT * FROM search1 WHERE " 
mWhere="(country LIKE '%%') OR (province LIKE '%%') OR (city LIKE '%%') order by country"
```

skulle jag lägga till ) efter
city like parantesen?

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

## #8 — LarsG, 2001-07-09T12:55Z

Den koden du har där ser ok ut, men i det felmeddelande du fick så var det ett parentespar för mycket.

Du kanske ser ut så här i din kod

```

mSQL="SELECT * FROM search1 WHERE " 
mWhere="(country LIKE '%%') OR (province LIKE '%%') OR (city LIKE '%%') order by country"
mSQL = mSQL & "(" & mWhere & ")"
```

I så fall så får du skriva 

```

mSQL="SELECT * FROM search1 WHERE " 
mWhere="(country LIKE '%%') OR (province LIKE '%%') OR (city LIKE '%%') "
mSQL = mSQL & "(" & mWhere & ") order by country"
```

Order by skall ligga allra sist och det får inte vara några avslutande parenteser efteråt.

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

## #9 — Lazerzubb, 2001-07-09T13:01Z

Här är lite av koden.

```
dim i,j,mQuery,mQueryArr,mAndArr,mNotArr,mOrArr,mSQL,mWhere
'grunddelarna i frågan
mSQL="SELECT * FROM search1 WHERE " 
mWhere="(country LIKE '%%') OR (province LIKE '%%') OR (city LIKE '%%')") order by country"
'sökfältets värde
mQuery=request.form("sok")
'loopa igenom allt och ersätt mellanslag inom citattecken med chr(1). 
'Denna bit går att göra med reguljära uttryck också
for i=1 to len(mQuery)
mAsc=asc(mid(mQuery,i,1))
if mAsc=34 then
mCount=mCount+1
blnInQ=not blnInQ
else
if blnInQ and mAsc=32 then
mQuery=left(mQuery,i-1) & chr(1) & mid(mQuery,i+1)
end if
end if
```

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

## #10 — erka, 2001-07-09T13:03Z

Du kan antingen ta ORDER BY Kol.namn DESC eller ASC beroende på om du vill ha fallande eller stigande..

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

## #11 — Lazerzubb, 2001-07-09T13:09Z

Jag vill ha från a Och nedåt.
men kan du lägga in koden i min får det inte att fungera.

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

## #12 — erka, 2001-07-09T13:14Z

funkar det inte om du skriver ORDER BY Country DESC där du har order by country nu ?

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

## #13 — Lazerzubb, 2001-07-09T13:24Z

NIX

```
Error Type:
Microsoft VBScript compilation (0x800A0401)
Expected end of statement
/test/visa.asp, line 73, column 72
mWhere="(country LIKE '%%') OR (province LIKE '%%') OR (city LIKE '%%')") ORDER BY Country DESC"
```

KODEN

```
dim i,j,mQuery,mQueryArr,mAndArr,mNotArr,mOrArr,mSQL,mWhere
'grunddelarna i frågan
mSQL="SELECT * FROM search1 WHERE " 
mWhere="(country LIKE '%%') OR (province LIKE '%%') OR (city LIKE '%%')") ORDER BY Country DESC"
'sökfältets värde
mQuery=request.form("sok")
```

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

## #14 — erka, 2001-07-09T13:36Z

vad får du om du skriver ut sqlsattsen ?

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

## #15 — Lazerzubb, 2001-07-09T13:58Z

Här kommer hela koden
\[KOD\]
\<!-- #include virtual="land/adovbs.stm" --\>
\<%
Response.Cachecontrol="Public"
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (\*.mdb)};dbq=D:/inetpub/wwwroot/search.mdb"
dim i,j,mQuery,mQueryArr,mAndArr,mNotArr,mOrArr,mSQL,mWhere
'grunddelarna i frågan
mSQL="SELECT \* FROM search1 WHERE " 
mWhere="(country LIKE '%%') OR (province LIKE '%%') OR (city LIKE '%%') ORDER BY Country DESC"
'sökfältets värde
mQuery=request.form("sok")
'loopa igenom allt och ersätt mellanslag inom citattecken med chr(1). 
'Denna bit går att göra med reguljära uttryck också
for i=1 to len(mQuery)
mAsc=asc(mid(mQuery,i,1))
if mAsc=34 then
mCount=mCount+1
blnInQ=not blnInQ
else
if blnInQ and mAsc=32 then
mQuery=left(mQuery,i-1) & chr(1) & mid(mQuery,i+1)
end if
end if

next

'om antalet citattecken är ojämnt ignoreras de helt
if mCount mod 2 \<\> 0 then
mQuery=replace(mQuery,chr(1)," ")
end if

'ta bort citattecknen
mQuery=replace(mQuery,chr(34),"")

'ersätt mellanslag med chr(0) och mellanslag
mQuery=chr(0) & replace(mQuery," "," " & chr(0))

'splitta upp i en array
mQueryArr=split(mQuery," ")

'skapa arrayer för AND, AND NOT och OR. 
'chr(0) gör det nu möjligt att matcha endast början på strängarna
mAndArr=filter(mQueryArr,chr(0) & "+",true)
mQueryArr=filter(mQueryArr,chr(0) & "+",false)
mNotArr=filter(mQueryArr,chr(0) & "-",true)
mQueryArr=filter(mQueryArr,chr(0) & "-",false)

'återskapa strängarna (ersätt chr(1) med mellanslag) och
'skapa WHERE-satser i arrayerna
for i=0 to ubound(mAndArr)
mAndArr(i)=replace(mAndArr(i),chr(1)," ")
mAndArr(i)=replace(mWhere,"%%","%" & mid(mAndArr(i),3) & "%")
next
for i=0 to ubound(mNotArr)
mNotArr(i)=replace(mNotArr(i),chr(1)," ")
mNotArr(i)=replace(mWhere,"%%","%" & mid(mNotArr(i),3) & "%")
next
for i=0 to ubound(mQueryArr)
mQueryArr(i)=replace(mQueryArr(i),chr(1)," ")
mQueryArr(i)=replace(mWhere,"%%","%" & mid(mQueryArr(i),2) & "%")
next

'tejpa ihop en färdig fråga
mQuery=join(mQueryArr," OR ")
if mQuery\<\>"" then 
mQuery="(" & mQuery & ")"
if ubound(mAndArr) \> -1 then mQuery=mQuery & " AND "
end if
mQuery=mQuery & join(mAndArr," AND ")
if mQuery\<\>"" and ubound(mNotArr) \> -1 then mQuery=mQuery & " AND NOT "
mQuery=mSQL & mQuery & join(mNotArr," AND NOT ")

set rs=Connection.execute (mQuery)

%\>
\<%
If rs.EOF Then
Response.write("We searched and didn't find what you wanted...")
Else
%\>
\<%
do until rs.eof
if bgcolor = "#FFFFFF" then bgcolor = "#FFCC66" Else bgcolor = "#FFFFFF" End if
%\>
\<tr\>
\<td width="243" height="1" bgcolor="\<%=bgcolor%\>"\>\<font face="Verdana" size="1" color="#000000"\>\<%=rs("ID")%\> \<a href="detalj.asp?id=\<%=rs("ID")%\>"\>\<% Response.Write "" & Split(rs("country"), ";")(1)%\>, \<%=rs("province")%\>, \<%=rs("city")%\> \</a\>\</font\>\</td\>
\<td width="145" height="1" bgcolor="\<%=bgcolor%\>"\>\<font face="Verdana" size="1" color="#000000"\>\<%=rs("bedf")%\>\</font\>\</td\>
\<td width="40" height="1"  bgcolor="\<%=bgcolor%\>"\>\<font face="Verdana" size="1" color="#000000"\>\<%=rs("xbed")%\>\</font\>\</td\>
\<td width="192" height="1" bgcolor="\<%=bgcolor%\>"\>\<font face="Verdana" size="1" color="#000000"\>Hög: \<%=rs("high")%\>\<br\>Låg: \<%=rs("low")%\>\</font\>\</td\>
\</tr\>
\<%
rs.MoveNext
Loop
End If
rs.close
set rs=nothing
Connection.close
set Connection=nothing
%\>

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

## #16 — LarsG, 2001-07-09T14:05Z

Du får ta flytta på order by och lägga till det precis innan du gör execute.

```
<!-- #include virtual="land/adovbs.stm" -->
<%
Response.Cachecontrol="Public"
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=D:/inetpub/wwwroot/search.mdb"
dim i,j,mQuery,mQueryArr,mAndArr,mNotArr,mOrArr,mSQL,mWhere
'grunddelarna i frågan
mSQL="SELECT * FROM search1 WHERE " 
mWhere="(country LIKE '%%') OR (province LIKE '%%') OR (city LIKE '%%') "
'sökfältets värde
mQuery=request.form("sok")
'loopa igenom allt och ersätt mellanslag inom citattecken med chr(1). 
'Denna bit går att göra med reguljära uttryck också
for i=1 to len(mQuery)
mAsc=asc(mid(mQuery,i,1))
if mAsc=34 then
mCount=mCount+1
blnInQ=not blnInQ
else
if blnInQ and mAsc=32 then
mQuery=left(mQuery,i-1) & chr(1) & mid(mQuery,i+1)
end if
end if
next

'om antalet citattecken är ojämnt ignoreras de helt
if mCount mod 2 <> 0 then
mQuery=replace(mQuery,chr(1)," ")
end if

'ta bort citattecknen
mQuery=replace(mQuery,chr(34),"")

'ersätt mellanslag med chr(0) och mellanslag
mQuery=chr(0) & replace(mQuery," "," " & chr(0))

'splitta upp i en array
mQueryArr=split(mQuery," ")

'skapa arrayer för AND, AND NOT och OR. 
'chr(0) gör det nu möjligt att matcha endast början på strängarna
mAndArr=filter(mQueryArr,chr(0) & "+",true)
mQueryArr=filter(mQueryArr,chr(0) & "+",false)
mNotArr=filter(mQueryArr,chr(0) & "-",true)
mQueryArr=filter(mQueryArr,chr(0) & "-",false)

'återskapa strängarna (ersätt chr(1) med mellanslag) och
'skapa WHERE-satser i arrayerna
for i=0 to ubound(mAndArr)
mAndArr(i)=replace(mAndArr(i),chr(1)," ")
mAndArr(i)=replace(mWhere,"%%","%" & mid(mAndArr(i),3) & "%")
next
for i=0 to ubound(mNotArr)
mNotArr(i)=replace(mNotArr(i),chr(1)," ")
mNotArr(i)=replace(mWhere,"%%","%" & mid(mNotArr(i),3) & "%")
next
for i=0 to ubound(mQueryArr)
mQueryArr(i)=replace(mQueryArr(i),chr(1)," ")
mQueryArr(i)=replace(mWhere,"%%","%" & mid(mQueryArr(i),2) & "%")
next

'tejpa ihop en färdig fråga
mQuery=join(mQueryArr," OR ")
if mQuery<>"" then 
mQuery="(" & mQuery & ")"
if ubound(mAndArr) > -1 then mQuery=mQuery & " AND "
end if
mQuery=mQuery & join(mAndArr," AND ")
if mQuery<>"" and ubound(mNotArr) > -1 then mQuery=mQuery & " AND NOT "
mQuery=mSQL & mQuery & join(mNotArr," AND NOT ")

mQuery = mQuery & " ORDER BY Country"
set rs=Connection.execute (mQuery)

%>
<%
If rs.EOF Then
Response.write("We searched and didn't find what you wanted...")
Else
%>
<%
do until rs.eof
if bgcolor = "#FFFFFF" then bgcolor = "#FFCC66" Else bgcolor = "#FFFFFF" End if
%>
<tr>
<td width="243" height="1" bgcolor="<%=bgcolor%>"><font face="Verdana" size="1" color="#000000"><%=rs("ID")%> <a href="detalj.asp?id=<%=rs("ID")%>"><% Response.Write "" & Split(rs("country"), ";")(1)%>, <%=rs("province")%>, <%=rs("city")%> </a></font></td>
<td width="145" height="1" bgcolor="<%=bgcolor%>"><font face="Verdana" size="1" color="#000000"><%=rs("bedf")%></font></td>
<td width="40" height="1" bgcolor="<%=bgcolor%>"><font face="Verdana" size="1" color="#000000"><%=rs("xbed")%></font></td>
<td width="192" height="1" bgcolor="<%=bgcolor%>"><font face="Verdana" size="1" color="#000000">Hög: <%=rs("high")%><br>Låg: <%=rs("low")%></font></td>
</tr>
<%
rs.MoveNext
Loop
End If
rs.close
set rs=nothing
Connection.close
set Connection=nothing
%>
```

Om du har DESC med i ORDER BY så får du sorterat i fallande ordning, dvs Z till A, så jag tog bort det också.

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

## #17 — Lazerzubb, 2001-07-09T14:22Z

Det funkar Tack.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/10465-lista-träffarna-från-a-och-nedåt
