Problemer med ORDER BY
HejJeg har en database med en tabel som indeholder nogle varer. Disse varer hentes ud fra databasen ud fra det kategoriid de hører til. Nu ønsker jeg at sortere mine varer efter titel og har skrevet følgende kode
30 <%' SQL forespørgsel
31 KatID = Request.Querystring("intKatId")
32 strSQL = "Select * From vare Where kategoriId = ' & KatID & 'ORDER BY titel"
33
34 ' Udfør strSQL (rs kommer til at indeholde dataen)
35 Set rs1 = Conn.Execute(strSQL)
....men får følgende fejlmeddelelse
Microsoft JET Database Engine error '80040e07'
Data type mismatch in criteria expression.
/varer_udsk.asp, line 35
Hvad er det jeg gør forkert?
Her er koden til hele min side
::::KODE::::
<%
Option Explicit
Dim Conn, DSN, sltid, strSQL, rs1, rs2, column, vareID, intVareId, KatID, intKatId
Response.Buffer=True
%>
<%
intKatId = Request.QueryString("intKatId")
%>
<!--#include file="dbconn.inc"--><!-- Database forbindelse oprettes via ekstern fil-->
<html>
<head>
<title>Bærbare</title>
<Link Rel="stylesheet" href="datronic.css" Type="text/css" > <!-- link til ekstern style sheet -->
<style type="text/css">
<!--
.style1 {color: #FFFFFF}
body {
margin-top: 0px;
margin-left: 4px;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
<body>
<br>
<%' SQL forespørgsel
KatID = Request.Querystring("intKatId")
strSQL = "Select * From vare Where kategoriId = ' & KatID & 'ORDER BY titel"
' Udfør strSQL (rs kommer til at indeholde dataen)
Set rs1 = Conn.Execute(strSQL)
strSQL = "Select kategoriNavn From kategori Where kategoriId =" & KatID
Set rs2 = Conn.Execute(strSQL)
%>
<table width="670" border="0" align="left"><!--hovedtabel start-->
<tr>
<td align="left" height="18" valign="center" bgcolor="#545DB9"><span class="style1"><%response.write rs2("kategoriNavn")%></span></td>
</tr>
<!--</table>-->
<tr>
<td align="center">
<%
if rs1.EOF then
response.Write "Der er i øjeblikket ingen varer i denne kategori"
else
Response.Write "<table border=0 cellspacing=0 cellpadding=5 width='660' align=center>" 'Indholdstabel start
Const COLUMN_COUNT = 4 'bestemmer hvor mange kolonner der skal være før der skiftes til ny række
Column = 0 'tæller
' Men hvis DB ikke er tom, udskrives data.
Do While Not rs1.EOF
If column = 0 Then
Response.Write "<tr>" 'hvis tælleren er 0 udskrives en række
end if
if rs1("foto1")&"" = "" then
Response.Write "<td width='163' align='center' valign='top'><a href='vis_varer.asp?intVareId=" & rs1("vareid") & "'><img src='foto/intet_foto1.jpg' border='0' width='150' height='100'><br>"
else
Response.Write "<td width='163' align='center' valign='top'><a href='vis_varer.asp?intVareId=" & rs1("vareid") & "'><img src=""" & rs1("foto1") & """ border='0' width='150' height='100'><br>"
end if
Response.Write rs1("titel") & "<br>"
Response.Write "Kr. " & rs1("pris") & ",- incl. moms</a></td>"
column = column + 1 'lægger en til tælleren
If column = COLUMN_COUNT Then ' hvis tælleren er lig variablen som i dette tilfælde er sat til tre sluttes rækken
Response.Write "</tr>" & vbNewLine 'starter ny linie
column = 0
End If
RS1.MoveNext
Loop 'går i loop indtil recordset ikke indeholder flere records
' Afslutter den oprettede tabel
Response.Write "</table><br>"
end if
' Luk forbindelse fra dbconn.inc
Conn.Close
Set Conn = Nothing
%>
</td>
</tr>
</table>
<!--Hovedtabel slut-->
</body>
</html>
::::SLUT::::
/Annette
