Avatar billede mekaniker Nybegynder
24. oktober 2001 - 12:52 Der er 11 kommentarer og
1 løsning

Hvad er der galt

Jeg har en vare database i access.
På min første asp-side lister den alle varegrupperne op som bliver lavet til links. Denne side virker bortset fra at hvis der er flere vare men ens varegruppe bliver varegruppen listet op flere gange.

\"Computerliste.asp\"

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"Computervarer.mdb\")
Conn.Open DSN

strSQL = \"Select * From Computervarer Order by Varegruppe \"
Set rs = Conn.Execute(strSQL)

Do
  strNavn = rs(\"Varegruppe\")

  strLink = \"<a href=\'Computervare.asp?id=\" & rs(\"Varegruppe\") & \"\'>\" & strNavn & \"</a>\"

  Response.Write \"<li>\" & strLink & \"</li>\"

  rs.MoveNext
Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing
%>



På denne (næste) side skal den så vise alle varerne i den på gældende gruppe.
\"Computervare.asp\"

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"Computervarer.mdb\")
Conn.Open DSN

strSQL = \"Select * from Computervarer Where Varegruppe = \" & Request.Querystring(\"Varegruppe\")
Set rs = Conn.Execute(strSQL)
%>

<%
Response.Write \"<div align=\"\"center\"\"><table width=\"\"300\"\" border=\"\"1\"\" cellspacing=\"\"0\"\" cellpadding=\"\"2\"\" >\"
Response.Write \"<tr><td><b><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"4\"\" color=\"\"#000000\"\"><div align=\"\"center\"\">\"
Response.Write rs(\"Varegruppe\")
Response.Write \"</div></font></b></td></tr></table></div>\"
%>
<br>
<table width=\"650\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\">
  <tr bgcolor=\"#000000\">
    <td width=\"97\"><b><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#FFFFFF\">Varenr</font></b></td>
    <td width=\"415\"><b><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#FFFFFF\">Varebeskrivelse</font></b></td>
    <td width=\"54\">
      <div align=\"center\"><b><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#FFFFFF\">Pris</font></b></div></td>
    <td width=\"58\">
<div align=\"center\"><b><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#FFFFFF\">Lager</font></b></div></td></tr>
  <%
Do
    Response.Write \"<tr><td><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"2\"\" color=\"\"#000000\"\">\"
    Response.Write rs(\"Varenr\") & \"</font></td><td><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"2\"\" color=\"\"#000000\"\">\"
    Response.Write rs(\"Varebeskrivelse\") & \"</font></td><td><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"2\"\" color=\"\"#000000\"\"><div align=\"\"center\"\">\"
    Response.Write rs(\"Udsalgspris_incl_moms\") & \"</font></div></td><td><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"2\"\" color=\"\"#000000\"\"><div align=\"\"center\"\">\"
    Response.Write rs(\"Lager_Bestilling\") & \"</font></div></td></tr>\"
%>
  <%
rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

Jeg får denne fejlmeddelelse:
Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e14\'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression \'Varegruppe =\'.

/computervare/Computervare.asp, linje 17


Er der nogle der kan hjælpe mig med at kun listet hver varegruppe op kun én gang, og hvad der går galt på den næste side.
Avatar billede food4u.dk Nybegynder
24. oktober 2001 - 12:55 #1
Computervare.asp?id=\" & rs(\"Varegruppe\")

I det link er ID betegnelse for din varegruppe, men i din SQL er det ikke ID, men \"Varegruppe\" du bruger

lav dit link om til Computervare.asp?Varegruppe=\" & rs(\"Varegruppe\")
Avatar billede cliche Nybegynder
24. oktober 2001 - 12:55 #2
vareg = request.querystring(\"varegruppe\")
strSQL = \"Select * from Computervarer Where Varegruppe = \"\' & vareg & \"\'\"
Avatar billede food4u.dk Nybegynder
24. oktober 2001 - 12:55 #3
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"Computervarer.mdb\")
Conn.Open DSN

strSQL = \"Select * From Computervarer Order by Varegruppe \"
Set rs = Conn.Execute(strSQL)

Do
  strNavn = rs(\"Varegruppe\")

  strLink = \"<a href=\'Computervare.asp?Varegruppe=\" & rs(\"Varegruppe\") & \"\'>\" & strNavn & \"</a>\"

  Response.Write \"<li>\" & strLink & \"</li>\"

  rs.MoveNext
Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing
%>



På denne (næste) side skal den så vise alle varerne i den på gældende gruppe.
\"Computervare.asp\"

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"Computervarer.mdb\")
Conn.Open DSN

strSQL = \"Select * from Computervarer Where Varegruppe = \" & Request.Querystring(\"Varegruppe\")
Set rs = Conn.Execute(strSQL)
%>

<%
Response.Write \"<div align=\"\"center\"\"><table width=\"\"300\"\" border=\"\"1\"\" cellspacing=\"\"0\"\" cellpadding=\"\"2\"\" >\"
Response.Write \"<tr><td><b><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"4\"\" color=\"\"#000000\"\"><div align=\"\"center\"\">\"
Response.Write rs(\"Varegruppe\")
Response.Write \"</div></font></b></td></tr></table></div>\"
%>
<br>
<table width=\"650\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\">
  <tr bgcolor=\"#000000\">
    <td width=\"97\"><b><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#FFFFFF\">Varenr</font></b></td>
    <td width=\"415\"><b><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#FFFFFF\">Varebeskrivelse</font></b></td>
    <td width=\"54\">
      <div align=\"center\"><b><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#FFFFFF\">Pris</font></b></div></td>
    <td width=\"58\">
<div align=\"center\"><b><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#FFFFFF\">Lager</font></b></div></td></tr>
  <%
Do
    Response.Write \"<tr><td><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"2\"\" color=\"\"#000000\"\">\"
    Response.Write rs(\"Varenr\") & \"</font></td><td><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"2\"\" color=\"\"#000000\"\">\"
    Response.Write rs(\"Varebeskrivelse\") & \"</font></td><td><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"2\"\" color=\"\"#000000\"\"><div align=\"\"center\"\">\"
    Response.Write rs(\"Udsalgspris_incl_moms\") & \"</font></div></td><td><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"2\"\" color=\"\"#000000\"\"><div align=\"\"center\"\">\"
    Response.Write rs(\"Lager_Bestilling\") & \"</font></div></td></tr>\"
%>
  <%
rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
Avatar billede aaen Nybegynder
24. oktober 2001 - 12:55 #4
\"Select DISTINCT Varegruppe From Computervarer\"
\"Select * from Computervarer Where Varegruppe = \\\"\" & Request.Querystring(\"Varegruppe\") & \"\\\"\"
Avatar billede mekaniker Nybegynder
24. oktober 2001 - 13:36 #5
Nu ser min kode sådan ud.

\"Computerliste.asp\"

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"Computervarer.mdb\")
Conn.Open DSN

strSQL = \"Select DISTINCT Varegruppe From Computervarer\"
Set rs = Conn.Execute(strSQL)

Do
  strNavn = rs(\"Varegruppe\")

  strLink = \"<a href=\'Computervare.asp?Varegruppe=\" & rs(\"Varegruppe\") & \"\'>\" & strNavn & \"</a>\"

  Response.Write \"<li>\" & strLink & \"</li>\"

  rs.MoveNext
Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing
%>



\"Computervare.asp\"

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"Computervarer.mdb\")
Conn.Open DSN

strSQL = \"Select * from Computervarer Where Varegruppe = \\\"\" & Request.Querystring(\"Varegruppe\") & \"\\\"\"
Set rs = Conn.Execute(strSQL)
%>

Men jeg får denne fejl:
Der opstod en Microsoft VBScript-kompileringsfejl fejl \'800a0401\'

Slut på sætning var ventet

/computervare/Computervare.asp, linje 16

strSQL = \"Select * from Computervarer Where Varegruppe = \\\"\" & Request.Querystring(\"Varegruppe\") & \"\\\"\"
------------------------------------------------------------------------------------^
Avatar billede food4u.dk Nybegynder
24. oktober 2001 - 13:42 #6
hvad var der galt med den jeg lavede?
Avatar billede mekaniker Nybegynder
24. oktober 2001 - 14:32 #7
>>food4u
Den lister ikke kun varegrupperne en gang, som ideen for \"aaen\" gør.
og jeg fik også følgende fejl:
Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e10\'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/computervare/Computervare.asp, linje 17
Avatar billede mekaniker Nybegynder
24. oktober 2001 - 14:36 #8
>>food4u
Nu har jeg brugt denne linie på den første side.
og det virker, med at den kun lister varegrupperne op én gang. 
\"Select DISTINCT Varegruppe From Computervarer\"
men jeg får stadig denne fejl:
Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e10\'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/computervare/Computervare.asp, linje 17
Avatar billede food4u.dk Nybegynder
24. oktober 2001 - 14:40 #9
Den kode jeg lavede om på og lagde ind igen indeholdte ikke DISTINCT
Avatar billede food4u.dk Nybegynder
24. oktober 2001 - 14:44 #10
<%
Do until rs.EOF
    Response.Write \"<tr><td><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"2\"\" color=\"\"#000000\"\">\"
    Response.Write rs(\"Varenr\") & \"</font></td><td><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"2\"\" color=\"\"#000000\"\">\"
    Response.Write rs(\"Varebeskrivelse\") & \"</font></td><td><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"2\"\" color=\"\"#000000\"\"><div align=\"\"center\"\">\"
    Response.Write rs(\"Udsalgspris_incl_moms\") & \"</font></div></td><td><font face=\"\"Arial, Helvetica, sans-serif\"\" size=\"\"2\"\" color=\"\"#000000\"\"><div align=\"\"center\"\">\"
    Response.Write rs(\"Lager_Bestilling\") & \"</font></div></td></tr>\"
%>
  <%
rs.MoveNext
Loop

Conn.Close
Set Conn = Nothing
%>
Avatar billede mekaniker Nybegynder
24. oktober 2001 - 15:01 #11
Uanset om jeg bruger DISTINCT får jeg stadig følgende fejl.
Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e10\'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/computervare/Computervare.asp, linje 17

og linie 17 er denne linie
strSQL = \"Select * from Computervarer Where Varegruppe = \" & Request.Querystring(\"Varegruppe\")
Avatar billede mekaniker Nybegynder
25. oktober 2001 - 12:41 #12
Lukker spørgsmålet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester