Avatar billede stefware Nybegynder
11. marts 2004 - 01:11 Der er 48 kommentarer og
1 løsning

Hvorfor vil det sure count ikke virke?

Hej

Så er den gal igen, mit count virker ikke, håber der en en der kan hjælpe mig

Kode:
<%
Response.Buffer = True
Response.Expires = 0

Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("daek.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

sqlWhere = ""
if Request.QueryString("size1") <> "Alle" then
  if sqlWhere <> "" then sqlWhere = sqlWhere & " AND "
  sqlWhere = sqlWhere & "size_1 = '"&Request.QueryString("size1")&"'"
end if
if Request.QueryString("size2") <> "Alle" then
  if sqlWhere <> "" then sqlWhere = sqlWhere & " AND "
  sqlWhere = sqlWhere & "size_2 = '"&Request.QueryString("size2")&"'"
end if
if Request.QueryString("size3") <> "Alle" then
  if sqlWhere <> "" then sqlWhere = sqlWhere & " AND "
  sqlWhere = sqlWhere & "size_3 = '"&Request.QueryString("size3")&"'"
end if

sqlBrand = "Select COUNT(*) from daek_tabel "
if sqlWhere <> "" then sqlBrand = sqlBrand & " where " & sqlWhere
sqlBrand = sqlBrand & " Order by brand, model ASC"
set rsBrand = Con.execute(sqlBrand)

%>
<html>
<head>
</head>

<body bgcolor="#FFFFFF" text="#000000">
Antal dæk vist
<%Response.Write rsBrand(0)%>
Avatar billede pfp Nybegynder
11. marts 2004 - 01:16 #1
En count sætning skal have følgende format:
SQL = "Select Count(*) As Antal From myTable"
Set rs = Conn.Execute(SQL)

Antallet af rækker ligger så i rs("Antal")
Avatar billede stefware Nybegynder
11. marts 2004 - 06:56 #2
Kan den ikke opreres ind her:
sqlBrand = "Select Count(*) As Antal from daek_tabel "
if sqlWhere <> "" then sqlBrand = sqlBrand & " where " & sqlWhere
sqlBrand = sqlBrand & " Order by brand, model ASC"
set rsBrand = Con.execute(sqlBrand)

Og så kommme nede på siden:
<%
response.write rsBrand("Antal")
%>
Avatar billede nute Nybegynder
11. marts 2004 - 09:16 #3
200 points for at få en count til at virke ??? når man opretter et spm, står der tydelig:

15 - Let
30 - Medium
60 - Svær

hvis en 'SELECT COUNT(*) As tal FROM tabel' er over 3 gange så svært som fx "hvordan får jeg et RPC kald til at starte min intranet server", så er du helt galt på den. En Count i en SQL kan max kategoriseres som et 30 point spm.

stefware >> har du prøvet en COUNT i den simpleste forstand til dit formål ?

SELECT COUNT(*) As Antal FROM daek_tabel WHERE size_1 = 'noget'

??

Er du sikker på at det ikke er fordi du skal bruge OR istedenfor AND ?

når du siger at den ikke virker, så forklar os hellere hvad den gør galt og hvad du forventer at den skal gøre i stedet for at sige at den bare ikke virker. vi kender hverken din database eller intentioner/ønsker med scriptet

/nute
Avatar billede stefware Nybegynder
11. marts 2004 - 09:20 #4
Ang. antal point, nogle syntes asp er svært andre syntes at køre på cykel på line er svært, sådan har vi jo forskellige talenter :-)))

Meningen er at jeg skal have en linie hvor der står "Der er XXX antal viste dæk" dvs. det antal der kommer frem fra søgningen skal tælles og jeg har sgu ikke de store asp talenter, så lidt hjælp eller hint kunne meget godt bruges!

Stef
Avatar billede stefware Nybegynder
11. marts 2004 - 09:22 #5
Problemet er jeg kan ikke se hvordan jeg får det ind imellem resten!
Avatar billede erikjacobsen Ekspert
11. marts 2004 - 09:24 #6
"når du siger at den ikke virker, så forklar os hellere hvad den gør galt"
Avatar billede stefware Nybegynder
11. marts 2004 - 09:35 #7
Hvis jeg laver det

sqlBrand = "Select Count(*) As Antal From daek_tabel "

if sqlWhere <> "" then sqlBrand = sqlBrand & " where " & sqlWhere

sqlBrand = sqlBrand & " Order by brand, model ASC"

set rsBrand = Con.execute(sqlBrand)

og sætter ind

<%
response.write rsBrand("Antal")
%>


Får jeg

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'brand' as part of an aggregate function.

/jesper/daek/visdaek.asp, line 26

Linie 26 er:
set rsBrand = Con.execute(sqlBrand)
Avatar billede stefware Nybegynder
11. marts 2004 - 09:35 #8
Jeg kan ikke forstå jeg endnu ikke har opgivet at lære asp :-)
Avatar billede nute Nybegynder
11. marts 2004 - 09:37 #9
"Ang. antal point, nogle syntes asp er svært andre syntes at køre på cykel på line er svært," - det handler også om at have en viss forståelse om hvad det er man har kastet sig ud i. Det er meget svært at lære sig at køre cykel på line, hvis man har en ødelagt balancenerve. Det er nemmere at træne sine logiske egenskaber op (som man bruger når man koder, end at træne sin medfødte "ubalance" op ;o]

Antal points skal uanset reflektere sværhedsgraden af spm og ikke desperation/uvidenhed hos den der stiller spm.

hvad er det du "ikke kan se hvordan jeg får det ind imellem resten" ... hvad er det du ikke kan se ?

umiddelbart ser din SQL ikke ud til at være forkert, men igen ... det er, som jeg har skrevet tidligere, ikke muligt at hjælpe når vi ikke kender din database. Er det fx muligt at et dæk kan *både* have size_1 specificeret og samtidig have size_2 specificeret ?

har du prøvet den SQL jeg postet i mit forrige indlæg ?

fortæl os hvad du gør, og hvad der går galt i stedet for at sige at "det ikke virker". hvis du siger "det virker ikke", så kan vi  i bund og grund bare svare "øv...sur røv" og gå videre til næste spm ;o]

'brand' er nok et reserveret ord i databasen ... prøv at sætte [] omkring:

sqlBrand = sqlBrand & " Order by [brand], model ASC"

/nute
Avatar billede nute Nybegynder
11. marts 2004 - 09:37 #10
desuden ... dette er ikke ASP ... det er SQL ;o]
Avatar billede erikjacobsen Ekspert
11. marts 2004 - 09:40 #11
Man kan ikke have en "order by" på en ren "count(*)" - det giver slet ikke mening.

Det er ikke korrekt at en count *skal* se ud som

  select count(*) as antal

Man kan sagtens droppe "as antal" som spørgeren startede med.
Avatar billede stefware Nybegynder
11. marts 2004 - 09:43 #12
Det bliver det ikke nemmere af, jeg kigger på det lidt senere.
Avatar billede nute Nybegynder
11. marts 2004 - 09:46 #13
erikjacobsen >> true ... det giver ingen mening at lave order by på en ren count.

stefware >> du prøver at lægge en order by på to kolonner som du ikke har specificeret i din SELECT. Hvis du vil have flere kolonner ud (brand og model), skal du gøre sådan her:


sqlBrand = "Select Count(*) As Antal, [brand], model From daek_tabel "

ved brug af 'AS' i din select (et alias i database terminologi), så giver du kun den kolonne et navn du selv ønsker så du nemmere kan identificere kolonnen i din resultset.

/nute
Avatar billede erikjacobsen Ekspert
11. marts 2004 - 09:46 #14
Jo, det er nemt: smid din "order by" linie helt væk. Den her:

sqlBrand = sqlBrand & " Order by brand, model ASC"
Avatar billede stefware Nybegynder
11. marts 2004 - 10:15 #15
ok nu ser det sådan her ud:

sqlBrand = "Select Count(*) As Antal, [brand], model From daek_tabel "
if sqlWhere <> "" then sqlBrand = sqlBrand & " where " & sqlWhere
set rsBrand = Con.execute(sqlBrand)

Men jeg får stadigt fejlen:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'brand' as part of an aggregate function.

/jesper/daek/visdaek.asp, line 25
Avatar billede erikjacobsen Ekspert
11. marts 2004 - 10:17 #16
Prøv at gøre som jeg siger - du blander flere forslag sammen.
I dit oprindelige script, sletter du alene den ene linie jeg skrev ovenfor.
Avatar billede stefware Nybegynder
11. marts 2004 - 10:25 #17
Ok nu hedder det

sqlBrand = "Select COUNT(*) As Antal from daek_tabel "
if sqlWhere <> "" then sqlBrand = sqlBrand & " where " & sqlWhere
'sqlBrand = sqlBrand & " Order by brand, model ASC"
set rsBrand = Con.execute(sqlBrand)

og virker men nu får jeg fejl i:

Antal dæk vist 205Sorter efter pris

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/jesper/daek/visdaek.asp, line 82

Linie 82:        <%Response.Write rsBrand("brand")%>

Er det så nu jeg skal have [brand] ind her? Og hvordan styrer jeg nu min sortering, jeg vil jo gerne linke til en tilsvarende fil der sorterer efter pris?


Stef
Avatar billede erikjacobsen Ekspert
11. marts 2004 - 10:48 #18
Din count-sætning virker. Den tæller 205 dæk, ikke?

Så kan du ikke få mere ud af den sql-sætning. Hvad er det så du vil have
skrevet ud?
Avatar billede stefware Nybegynder
11. marts 2004 - 11:00 #19
Ok, nu er jeg med, den SQl tæller de dæk op som jeg har bedt om i url'en, joo jeg vil jo gerne dækkene udskrevet med data:

Antal dæk vist

<%
response.write rsBrand("Antal")
%>


<%
size1 = Replace(Request.QueryString("size1"), """", "%22")
size2 = Replace(Request.QueryString("size2"), """", "%22")
size3 = Replace(Request.QueryString("size3"), """", "%22")

Response.Write "<a href=""visdaek_pris.asp?size1=" & size1 & "&size2=" & size2 & "&size3=" & size3 &""">Sorter efter pris</a>"
%>
<%
if rsBrand.EOF then
Response.Write "Der findes ingen dæk i databasen med de ønskede mål!"
else
Do Until rsBrand.EOF
%>
<table style="BORDER-COLLAPSE: collapse" bordercolor=#c0c0c0 cellpadding=2 width="440" border=0 cellspacing="1" bgcolor="black">
  <tbody>
    <tr>
      <td colspan="2" valign="middle" bgcolor="#4b4b4b"><font size="1" face="Verdana">
        <font color="#FFFFFF"> <strong> <font face="Verdana, Arial, Helvetica, sans-serif">
        <%Response.Write rsBrand("brand")%>
        </font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> &nbsp;
        <%Response.Write rsBrand("model")%>
        </font></strong></font><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
        </font></strong></font></td>
      <td align=middle width="160" bgcolor="#4b4b4b">&nbsp; </td>
      <td align=middle width="60" bgcolor="#4b4b4b"> <div align="right"> <font size="1" face="Verdana" color="white"><b>Pris</b></font></div></td>
    </tr>
    <tr onmouseover="this.style.backgroundColor='#C0C0C0';this.style.cursor='hand';" onmouseout="this.style.backgroundColor='E1E1E1';" bgcolor="E1E1E1">
      <td width="85" align="center" valign="top" bgcolor="E1E1E1">
        <div align="center" onClick="MM_openBrWindow('stort_billede.asp?id=<%= rsBrand("ID")%>','','width=255,height=180')"><strong>
          Se Billede </strong></div></td>
      <td width="160" valign="top"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
        Bredde (mm):
        <%Response.Write rsBrand("size_1")%>
        <br>
        H&oslash;jde :
        <%Response.Write rsBrand("size_2")%>
        <br>
        St&oslash;rrelse (&quot;):
        <%Response.Write rsBrand("rfelt")%>
        <%Response.Write rsBrand("size_3")%>
        </font> </td>
      <td align=middle width="160" valign="top"> <div align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Hastighed:
          Max
          <%
              if rsBrand("speed") = "J" THEN
            strSpd = "100"
            Elseif rsBrand("speed") = "K" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "l" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "M" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "N" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "O" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "P" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "Q" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "R" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "S" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "T" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "U" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "H" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "V" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "W" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "ZR" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "Y" THEN
            strSpd = "210"
            ELSE
            strSpd = "NA"
            end IF
%>
          <%Response.Write strSpd%>
          km/t<br>
          Belastning (LI):
          <%Response.Write rsBrand("li")%>
          </font></div></td>
      <td align=middle width="60" valign="top"> <div align="right">
          <p><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> <strong>
            <%Response.Write rsBrand("dk_prize")%>
            dkk</strong> <br>
            </font></p>
        </div></td>
    </tr>
  </tbody>
</table>
<%  rsBrand.MoveNext
Loop
End IF
%>
Avatar billede erikjacobsen Ekspert
11. marts 2004 - 11:02 #20
Koden hjælper ikke så meget, når jeg ikke kan se hvad du vil. Hvad er det der
skal tælles og udskrives? Kan du komme med eksempler?
Avatar billede nute Nybegynder
11. marts 2004 - 11:04 #21
du skal køre to SQL'er:

sqlWhere = ""
if Request.QueryString("size1") <> "Alle" then
  if sqlWhere <> "" then sqlWhere = sqlWhere & " AND "
  sqlWhere = sqlWhere & "size_1 = '"&Request.QueryString("size1")&"'"
end if
if Request.QueryString("size2") <> "Alle" then
  if sqlWhere <> "" then sqlWhere = sqlWhere & " AND "
  sqlWhere = sqlWhere & "size_2 = '"&Request.QueryString("size2")&"'"
end if
if Request.QueryString("size3") <> "Alle" then
  if sqlWhere <> "" then sqlWhere = sqlWhere & " AND "
  sqlWhere = sqlWhere & "size_3 = '"&Request.QueryString("size3")&"'"
end if

sqlCount = "Select COUNT(*) from daek_tabel " & sqlWhere
sqlBrand = "Select [brand],model from daek_tabel " & sqlWhere & " Order by [brand],model ASC"

set rsBrand = Con.execute(sqlCount)
strAntal = rsBrand(0)
set rsBrand = Con.execute(sqlBrand )

nu har du antallet i 'strAntal' variabelen, og så kan du loope igennem dit recordset på vanlig måde:

while not rsBrand.EOF
    Response.Write( rsBrand("brand") & "<br>"
wend

/nute
Avatar billede stefware Nybegynder
11. marts 2004 - 11:04 #22
Avatar billede stefware Nybegynder
11. marts 2004 - 11:12 #23
Det er nemmere end at forklare det, jeg sidder pt. på en mac så jeg er lidt i beknep, med at komme ind i DB'en!
Avatar billede erikjacobsen Ekspert
11. marts 2004 - 11:22 #24
Hvis du ikke kan forklare hvad du vil, så giver jeg op ;)
Avatar billede stefware Nybegynder
11. marts 2004 - 11:22 #25
Det laver fejl i
Linie 25:

set rsBrand = Con.execute(sqlCount)
Avatar billede nute Nybegynder
11. marts 2004 - 11:29 #26
prøv at skrive ud dine SQL'er inden du fyrer dem af, så kan du nemmere se hvad der går galt:

Response.Write( sqlCount )
set rsBrand = Con.execute(sqlCount)

og som vi har skrevet flere gange - forklar *hvad* der er galt. "en fejl i linje 25" er nok næsten det mindst informative du kan sige. *hvad* går der galt ? siger den "computer missing?", "'sqlCount' mangler", "der er krig i verden" ??? vi har ingen mulighed for at hjælpe med mindre du forklarer hvad du oplever. husk .. det er *dig* der sidder med koden, det er *dig* der sidder med databasen, det er *dig* der har mulighed for at teste det vi foreslår. Med mindre du forklarer hvad du oplever, med udførlige beskrivelser (!!!), så har vi ikke så store muligheder for at guide dig i rigtg retning.

Løsningen er postet optil flere gange her inde. Brug lidt tid på at kigge gennem det vi har skrevet til dig, og prøv dig frem inden du bare smider et indlæg afsted.

/nute
Avatar billede stefware Nybegynder
11. marts 2004 - 11:33 #27
Jeg forsøger, jeg trækker fra en form 3 værdier size1 & size2 og size3, de bliver sendt til visdaek.asp (se nedestående) Size1 er en dæk bredde som kan være Alle eller 125-305 med forskellige intervaller Size 2 er Alle eller højden fra 80-25 og sidst fælg størrelsen i " eller Alle.

visdaek.asp skal vise antallet af dæk der opfylder de valgte krav og udskrive mærke/model/højde/pris osv  for dem sorteret alfabetisk, lave et link til et billede.

Øverst på siden har jeg et link til en tilsvarende fil som visdaek.asp der hedder visdaek_pris.asp, her skal samme resultat vises bare sorteret efter pris.

Håber det hjalp lidt, jeg har smidt koderne med:

daek_1.asp

<%
Response.Buffer = True
Response.Expires = 0

Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("daek.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

        sqlSize1 = ("SELECT DISTINCT size_1 FROM daek_tabel Order BY size_1 ASC ")
    set rsSize1 = Con.execute(sqlSize1)

        sqlSize2 = ("SELECT DISTINCT size_2 FROM daek_tabel Order BY size_2 ASC ")
    set rsSize2 = Con.execute(sqlSize2)

        sqlSize3 = ("SELECT DISTINCT size_3 FROM daek_tabel Order BY size_3 ASC ")
    set rsSize3 = Con.execute(sqlSize3)



   
%>
<html>
<head>
<title>D&aelig;k Database</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="/test.css" type="text/css">
<link rel="stylesheet" href="/spalte.css" type="text/css">
<script language="JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form method="get" type="select" action="visdaek.asp">
  <p><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> Vælg dæk bredde!
    <br>
    <select name="size1">
      <option>
        Alle   
      </option>
      <%Do Until rsSize1.EOF%>
      <option>
      <%Response.Write rsSize1("size_1")%>
      </option>
      <%  rsSize1.MoveNext
Loop%>
    </select>
    </font></p>
  <font size="1" face="Verdana, Arial, Helvetica, sans-serif"> V&aelig;lg d&aelig;k
  h&oslash;jde!<br>
  <select name="size2">
            <option>
        Alle   
      </option>
    <%Do Until rsSize2.EOF%>

    <option>
    <%Response.Write rsSize2("size_2")%>
    </option>
    <%  rsSize2.MoveNext
Loop%>
  </select>
  <br>
  <br>
  Vælg dæk st&oslash;rrlse!<br>
  <select name="size3">
            <option>
        Alle   
      </option>
    <%Do Until rsSize3.EOF%>

    <option>
    <% Response.Write rsSize3("size_3")%>

    </option>
    <%  rsSize3.MoveNext
Loop%>
  </select>
  <br>
  <br>
  <input name="valg" type="submit" value="Vis d&aelig;k">
  </font>
</form>



</body>
</html>



visdaek.asp

<%
Response.Buffer = True
Response.Expires = 0

Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("daek.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

sqlWhere = ""
if Request.QueryString("size1") <> "Alle" then
  if sqlWhere <> "" then sqlWhere = sqlWhere & " AND "
  sqlWhere = sqlWhere & "size_1 = '"&Request.QueryString("size1")&"'"
end if
if Request.QueryString("size2") <> "Alle" then
  if sqlWhere <> "" then sqlWhere = sqlWhere & " AND "
  sqlWhere = sqlWhere & "size_2 = '"&Request.QueryString("size2")&"'"
end if
if Request.QueryString("size3") <> "Alle" then
  if sqlWhere <> "" then sqlWhere = sqlWhere & " AND "
  sqlWhere = sqlWhere & "size_3 = '"&Request.QueryString("size3")&"'"
end if

sqlCount = "Select COUNT(*) from daek_tabel " & sqlWhere
sqlBrand = "Select [brand],model from daek_tabel " & sqlWhere & " Order by [brand],model ASC"
set rsBrand = Con.execute(sqlCount)
strAntal = rsBrand(0)
set rsBrand = Con.execute(sqlBrand )


%>
<html>
<head>
<title>D&aelig;k Database</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="/test.css" type="text/css">
<link rel="stylesheet" href="/spalte.css" type="text/css">
<script language="JavaScript">
<!--

<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//-->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">
Antal dæk vist

<%
response.write strAntal
%>


<%
size1 = Replace(Request.QueryString("size1"), """", "%22")
size2 = Replace(Request.QueryString("size2"), """", "%22")
size3 = Replace(Request.QueryString("size3"), """", "%22")

Response.Write "<a href=""visdaek_pris.asp?size1=" & size1 & "&size2=" & size2 & "&size3=" & size3 &""">Sorter efter pris</a>"
%>
<%
if rsBrand.EOF then
Response.Write "Der findes ingen dæk i databasen med de ønskede mål!"
else
Do Until rsBrand.EOF
%>
<table style="BORDER-COLLAPSE: collapse" bordercolor=#c0c0c0 cellpadding=2 width="440" border=0 cellspacing="1" bgcolor="black">
  <tbody>
    <tr>
      <td colspan="2" valign="middle" bgcolor="#4b4b4b"><font size="1" face="Verdana">
        <font color="#FFFFFF"> <strong> <font face="Verdana, Arial, Helvetica, sans-serif">
        <%Response.Write rsBrand("brand")%>
        </font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> &nbsp;
        <%Response.Write rsBrand("model")%>
        </font></strong></font><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
        </font></strong></font></td>
      <td align=middle width="160" bgcolor="#4b4b4b">&nbsp; </td>
      <td align=middle width="60" bgcolor="#4b4b4b"> <div align="right"> <font size="1" face="Verdana" color="white"><b>Pris</b></font></div></td>
    </tr>
    <tr onmouseover="this.style.backgroundColor='#C0C0C0';this.style.cursor='hand';" onmouseout="this.style.backgroundColor='E1E1E1';" bgcolor="E1E1E1">
      <td width="85" align="center" valign="top" bgcolor="E1E1E1">
        <div align="center" onClick="MM_openBrWindow('stort_billede.asp?id=<%= rsBrand("ID")%>','','width=255,height=180')"><strong>
          Se Billede </strong></div></td>
      <td width="160" valign="top"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
        Bredde (mm):
        <%Response.Write rsBrand("size_1")%>
        <br>
        H&oslash;jde :
        <%Response.Write rsBrand("size_2")%>
        <br>
        St&oslash;rrelse (&quot;):
        <%Response.Write rsBrand("rfelt")%>
        <%Response.Write rsBrand("size_3")%>
        </font> </td>
      <td align=middle width="160" valign="top"> <div align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Hastighed:
          Max
          <%
              if rsBrand("speed") = "J" THEN
            strSpd = "100"
            Elseif rsBrand("speed") = "K" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "l" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "M" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "N" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "O" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "P" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "Q" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "R" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "S" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "T" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "U" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "H" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "V" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "W" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "ZR" THEN
            strSpd = "210"
            Elseif rsBrand("speed") = "Y" THEN
            strSpd = "210"
            ELSE
            strSpd = "NA"
            end IF
%>
          <%Response.Write strSpd%>
          km/t<br>
          Belastning (LI):
          <%Response.Write rsBrand("li")%>
          </font></div></td>
      <td align=middle width="60" valign="top"> <div align="right">
          <p><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> <strong>
            <%Response.Write rsBrand("dk_prize")%>
            dkk</strong> <br>
            </font></p>
        </div></td>
    </tr>
  </tbody>
</table>
<%  rsBrand.MoveNext
Loop
End IF
%>
</body>
</html>
Avatar billede stefware Nybegynder
11. marts 2004 - 11:34 #28
Undskyld fejlen er

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause.

/jesper/daek/visdaek.asp, line 25
Avatar billede nute Nybegynder
11. marts 2004 - 11:39 #29
jeg beder ikke om din kode ... den kan jeg ikke bruge til meget (andet end at den fylder h****s meget i tråden.

jeg beder dig om at SKRIVE ud din SQL så vi kan se den!!!!! Din fejl er enkel ... det er noget galt i din FROM del af SQL'en... men for at finde ud af hvad der er galt, så må vi få se din SQL !!!

hvis du ikke kan klare at gøre de få enkle ting vi beder dig om, så står jeg også af dette spm

/nute
Avatar billede stefware Nybegynder
11. marts 2004 - 11:41 #30
Undskyld, men prøver så godt jeg er i stand til, er det ikke den der heroven over?
Avatar billede nute Nybegynder
11. marts 2004 - 11:48 #31
nej den er ikke for oven. når nogen beder dig om at skrive ud din SQL, så beder de om at få se den SQL du prøver at køre. som jeg har bedt dig om tidligere, så skal du lave en "Response.Write( SQL )" i linjen *før* du prøver at execute den:

Response.Write( sqlCount )
set rsBrand = Con.execute(sqlCount)

dette vil resultere i at du får skrevet din SQL ud på skærmen, så du kan se hvad det er du prøver at sende til databasen. Dette er en nyttig måde at debugge på, og hvis du ikke lige kan overskue fejlen selv, så post din SQL her inde

/nute
Avatar billede stefware Nybegynder
11. marts 2004 - 12:00 #32
Håber det er det rigtige:

Select COUNT(*) from daek_tabel size_1 = '195' AND size_2 = '50' AND size_3 = '15"'

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause.

/jesper/daek/visdaek.asp, line 26
Avatar billede erikjacobsen Ekspert
11. marts 2004 - 12:02 #33
Du mangler en WHERE. Den var der før - hvorfor fjernede du den?
Avatar billede stefware Nybegynder
11. marts 2004 - 12:07 #34
Den røg ud da jeg prøvede nuke's kode!
Avatar billede stefware Nybegynder
11. marts 2004 - 12:18 #35
Jeg er ked af det, men jeg opgiver at få det til at virke. Det er for langhåret til jeg kan finde ud af det, og kan ikke rigtigt få vendt spørgsmålene rigtigt, så hvis i lige svarer, skal I få point for ulejligheden.

Stef
Avatar billede erikjacobsen Ekspert
11. marts 2004 - 12:26 #36
Tak, jeg samler ikke på point.
Avatar billede nute Nybegynder
11. marts 2004 - 12:30 #37
din SQL skal se sådan ud:

Select COUNT(*) from daek_tabel WHERE size_1 = '195' AND size_2 = '50' AND size_3 = '15'

hvis dine felt i databasen (size_1, size_2 og size_3) er af typen tal, så skal du ikke have '' rundt om værdierne:

Select COUNT(*) from daek_tabel size_1 = 195 AND size_2 = 50 AND size_3 = 15

denne kode bør være hvad du er på jagt efter:

sqlWhere = " WHERE "
if Request.QueryString("size1") <> "Alle" then
  if sqlWhere <> "" then sqlWhere = sqlWhere & " AND "
  sqlWhere = sqlWhere & "size_1 = '"&Request.QueryString("size1")&"'"
end if
if Request.QueryString("size2") <> "Alle" then
  if sqlWhere <> "" then sqlWhere = sqlWhere & " AND "
  sqlWhere = sqlWhere & "size_2 = '"&Request.QueryString("size2")&"'"
end if
if Request.QueryString("size3") <> "Alle" then
  if sqlWhere <> "" then sqlWhere = sqlWhere & " AND "
  sqlWhere = sqlWhere & "size_3 = '"&Request.QueryString("size3")&"'"
end if

sqlCount = "Select COUNT(*) from daek_tabel " & sqlWhere
sqlBrand = "Select [brand],model from daek_tabel " & sqlWhere & " Order by [brand],model ASC"

set rsBrand = Con.execute(sqlCount)
strAntal = rsBrand(0)
set rsBrand = Con.execute(sqlBrand )

/nute
Avatar billede stefware Nybegynder
11. marts 2004 - 12:46 #38
erikjacobsen-> tak for hjælpen alligevel

nuke->(size_1, size_2 og size_3) er alle tekst, der har tidligere været blandet bogstaver ind i det, men det virker stadigt ikke og du skal ikke bruge mere tid på det, jeg må forsøge at læst mig til hvordan jeg gør. Og indtil da må man tælle dem manuelt :-)
Avatar billede nute Nybegynder
11. marts 2004 - 12:49 #39
læs asp tutorialen på html.dk ... den hjælper meget på de basale ting

http://www.html.dk/tutorials/asp

/nute
Avatar billede stefware Nybegynder
11. marts 2004 - 12:56 #40
Jeg har været derinde adskillige gange, men jeg syntes det er meget, firkantet, sådan gør du hvis du vil etellerandetbestemt. Og ikke hvis du vil gøre sådan eller sådan, kan du... det mangler lidt nærmere beskrivelse af hvad tingene gør og hvorfor. Men jeg må have mig nogle bøger!
Avatar billede nute Nybegynder
11. marts 2004 - 13:05 #41
kig på http://www.activedeveloper.dk. læs nogle af de artikler der er der.

tutorialen på html.dk bør kunne hjælpe. du *vil* noget bestemt. du vil hive nogle data ud af en database. til dette så har du behov for at bruge SQL.

du skal prøve at sætte sammen en SQL ved hjælp af noge kriterier på din side. Du må lære dig at bryde problematikken op, løse deler af problemet og derefter sette delerne sammen. jeg ville have startet med at lave en side der søger i *alle* rækker i din database, med følgende:

sqlCount = "Select COUNT(*) from daek_tabel "
sqlBrand = "Select [brand],model from daek_tabel Order by [brand],model ASC"

set rsBrand = Con.execute(sqlCount)
strAntal = rsBrand(0)
set rsBrand = Con.execute(sqlBrand )

og prøv at skrive ud resultatet (til dette kan *sagtens* html.dk hjælpe dig. Når dette kører, så lægger du *ett* kriterie på:

sqlWhere = " WHERE "
if( Request.QueryString( "size1" ) <> "" ) Then
    sqlWhere = sqlWhere = " size_1 = '" & Request.QueryString( "size1" ) & "'"
end if

if( sqlWhere = " WHERE " ) then
    sqlWhere = ""
End if
sqlCount = "Select COUNT(*) from daek_tabel " & sqlWhere
sqlBrand = "Select [brand],model from daek_tabel " & sqlWhere & " Order by [brand],model ASC"

set rsBrand = Con.execute(sqlCount)
strAntal = rsBrand(0)
set rsBrand = Con.execute(sqlBrand )

når dette kører, så lægger du endnu et nyt kriterie på

u c ?

/nute
Avatar billede stefware Nybegynder
11. marts 2004 - 13:12 #42
NU!! fik jeg det til at virke, jeg delte det bare en del mere op, så nu vil jeg altså gerne give point!

Sådan gjorde jeg, det er ikke så elegant men det ser ud til at virke!:

sqlBrand = "Select * from daek_tabel "
if sqlWhere <> "" then sqlBrand = sqlBrand & " where " & sqlWhere
sqlBrand = sqlBrand & " Order by brand, model ASC"
set rsBrand = Con.execute(sqlBrand)

sqlCount = "Select COUNT(*) As Antal from daek_tabel "
if sqlWhere <> "" then sqlCount = sqlCount & " where " & sqlWhere
'sqlBrand = sqlBrand & " Order by brand, model ASC"
set rsCount = Con.execute(sqlCount)
Avatar billede stefware Nybegynder
11. marts 2004 - 13:14 #43
How havde ikke set du havde skrevet! Jeg forsøger også at tage det en ting ad gangen, men alligevel bliver det rod for mig, når man kune bruger det hver halve år, glemmer man jo hvordan man gør!
Avatar billede stefware Nybegynder
11. marts 2004 - 13:17 #44
Hvis det har interesse kan i se hvad det er det skal bruges til her http://www.cecilies-verden.dk/jesper/daek/daek_1.asp
Avatar billede nute Nybegynder
11. marts 2004 - 13:40 #45
fino :o]

/nute
Avatar billede stefware Nybegynder
11. marts 2004 - 13:42 #46
Erik skal vel også have???
Avatar billede nute Nybegynder
11. marts 2004 - 13:51 #47
erikjacobsen @ 11/03-2004 12:26:54: "Tak, jeg samler ikke på points".

men post et svar selv og snup 140 af de points du har sat spm til. Det er ikke 200 points værdt.

/nute
Avatar billede stefware Nybegynder
11. marts 2004 - 14:05 #48
Det gør ikke så meget, jeg lærer vel snart at klare mig selv!
Avatar billede nute Nybegynder
11. marts 2004 - 14:23 #49
stefware >> tak, men nej tak ... jeg skrev jeg ikke ville have så meget. venligst post et svar her

http://www.eksperten.dk/spm/476028

/nute
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