Avatar billede zed_one Praktikant
22. august 2002 - 12:14 Der er 8 kommentarer og
1 løsning

asp loop fejl

hvad er der galt her?
<!--#include file="services.asp"-->
<!--#include file="config.asp"-->
<%
    sektion_temp = Request("sektion")
    udfold= Request("udfold")
    udfold2= Request("udfold2")
    udfold3= Request("udfold3")
    Select Case sektion_temp
        Case 1
            sektion = "sektion_elektriker"
            overskrift = overskrift_elektriker
        Case 2
            sektion = "sektion_frisor"
            overskrift = overskrift_frisor
        Case 3
            sektion = "sektion_murer"
            overskrift = overskrift_murer
        Case 4
            sektion = "sektion_service"
            overskrift = overskrift_service
        Case 5
            sektion = "sektion_smed"
            overskrift = overskrift_smed
        Case 6
            sektion = "sektion_medie"
            overskrift = overskrift_medie
        Case 7
            sektion = "sektion_tandklinik"
            overskrift = overskrift_tandklinik
        Case 8
            sektion = "sektion_traefag"
            overskrift = overskrift_traefag
        Case 9
            sektion = "sektion_vvs"
            overskrift = overskrift_vvs
        Case 10
            sektion = "sektion_andet"
            overskrift = overskrift_andet
        Case Else
            sektion_temp = 1
            sektion = "sektion_elektriker"
            overskrift = overskrift_elektriker
    End Select
   
    Dim conn, rs
   
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open connect()
   
    Set RS = Server.CreateObject("ADODB.RecordSet")
    sqlsetning = "SELECT * FROM "& Sektion &" ORDER BY [dato-fra1] ASC"
    response.write sqlsetning
    RS.Open sqlsetning, Conn, 1, 3

%>

<html>

<head>
<title></title>
<link rel="stylesheet" type="text/css" href="index.css">
</head>

<body>
<table border="0" width="350" cellspacing="0" cellpadding="0">
  <tr>
    <td colspan="2"><h2><%= overskrift %></h2></td>
  </tr>
  <tr>
      <td height="20" width="20%"></td>
      <td height="20" width="20%"></td>
  </tr>
  <tr>
      <td colspan="2"><h4>Kurser</h4></td>
  </tr>
  <tr>
      <td height="8" width="20%"></td>
      <td height="8" width="20%"></td>
  </tr>
    <% nummer = 1 %>
    <% Do while NOT rs.EOF %>
        <% a = rs("dato-til1") %>
        <% b = rs("dato-til2") %>
        <% if a = date then %>
        <% if rs("type") = 1 then %>
            <% if cint(udfold) = nummer then %>
                <tr><td><a href="afdeling.asp?sektion=<%= sektion_temp %>"><%= rs("overskrift") %></a></td>
            <% else %>
                <tr><td><a href="afdeling.asp?sektion=<%= sektion_temp %>&udfold=<%= nummer %>"><%= rs("overskrift") %></a></td>
            <% end if %>
            <td><div align="left"><%= rs("dato-fra1") %>/<%= rs("dato-fra2") %>-<%= rs("dato-fra-aarstal") %> - <%= rs("dato-til1") %>/<%= rs("dato-til2") %>-<%= rs("dato-til-aarstal") %></div></td></tr>
            <% if cint(udfold) = nummer then %>
                <tr><td colspan="2" height="2"></td></tr>
                <tr><td colspan="2" cellspacing="10" cellpadding="10"><blockquote><%= rs("beskrivelse") %></blockquote><br></td></tr>
            <% end if %>
        <% end if %>
        <% rs.MoveNext %>
        <% nummer = nummer + 1 %>
    <% Loop %>
    </td>
  </tr>
  <tr>
      <td height="30" width="20%"></td>
      <td height="30" width="20%"></td>
  </tr>
  <tr>
      <td colspan="2"><h4>Kurser under forberedelse</h4></td>
  </tr>
  <tr>
      <td height="8" width="20%"></td>
      <td height="8" width="20%"></td>
  </tr>
  <% rs.movefirst %>
  <% nummer = 1 %>
    <% Do while NOT rs.EOF %>
        <% if rs("type") = 2 then %>
            <% if cint(udfold2) = nummer then %>
                <tr><td><a href="afdeling.asp?sektion=<%= sektion_temp %>"><%= rs("overskrift") %></a></td>
            <% else %>
                <tr><td><a href="afdeling.asp?sektion=<%= sektion_temp %>&udfold2=<%= nummer%>"><%= rs("overskrift") %></a></td>
            <% end if %>
            <td></td></tr>
            <% if cint(udfold2) = nummer then %>
                <tr><td colspan="2" height="2"></td></tr>
                <tr><td colspan="2"><blockquote><%= rs("beskrivelse") %></blockquote><br></td></tr>
            <% end if %>
        <% end if %>
        <% rs.MoveNext %>
        <% nummer = nummer + 1 %>
    <% Loop %>
  <tr>
      <td height="30" width="20%"></td>
      <td height="30" width="20%"></td>
  </tr>
  <tr>
      <td colspan="2"><h4>Enkeltfag</h4></td>
  </tr>
  <tr>
      <td colspan="2"> - Hvis der er plads kan du deltage i f&oslash;lgene:</td>
  </tr>
  <tr>
      <td height="8" width="20%"></td>
      <td height="8" width="20%"></td>
  </tr>
  <% rs.movefirst %>
  <% nummer = 1 %>
    <% Do while NOT rs.EOF %>
        <% if rs("type") = 3 then %>
            <% if cint(udfold3) = nummer then %>
                <tr><td><% if rs("beskrivelse") <> "" then %><a href="afdeling.asp?sektion=<%= sektion_temp %>"><% end if %><%= rs("overskrift") %><% if rs("beskrivelse") <> "" then %></a><% end if %></td>
            <% else %>
                <tr><td><% if rs("beskrivelse") <> "" then %><a href="afdeling.asp?sektion=<%= sektion_temp %>&udfold3=<%= nummer%>"><% end if %><%= rs("overskrift") %><% if rs("beskrivelse") <> "" then %></a><% end if %></td>
            <% end if %>
            <td></td></tr>
            <% if cint(udfold3) = nummer then %>
                <tr><td colspan="2" height="2"></td></tr>
                <tr><td colspan="2"><blockquote><%= rs("beskrivelse") %></blockquote><br></td></tr>
            <% end if %>
        <% end if %>
        <% rs.MoveNext %>
        <% nummer = nummer + 1 %>
    <% Loop %>
  <tr>
      <td height="30" width="20%"></td>
      <td height="30" width="20%"></td>
  </tr>
</table>
<table border="0" width="450">
  <tr>
    <td width="450">
      <hr>
      <p align="right"><a href="#top">op</a><font size="1" color="#666666"><a href="#top">
      </a> </font>
      <a href="#top">
      <img border="0" src="../../../images/pilop_graa.gif" width="13" height="13"></a></td>
  </tr>
</table>

</body>

</html>

<% CloseDB() %>

Får følgene fejl:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A040E)
'Loop' uden 'Do'
/afdeling.asp, line 99
Loop
Avatar billede cthun Nybegynder
22. august 2002 - 12:29 #1
<% Do while NOT rs.EOF %>
        <% a = rs("dato-til1") %>
        <% b = rs("dato-til2") %>
        <% if a = date then %>
        <% if rs("type") = 1 then %>
            <% if cint(udfold) = nummer then %>
                <tr><td><a href="afdeling.asp?sektion=<%= sektion_temp %>"><%= rs("overskrift") %></a></td>
            <% else %>
                <tr><td><a href="afdeling.asp?sektion=<%= sektion_temp %>&udfold=<%= nummer %>"><%= rs("overskrift") %></a></td>
            <% end if %>
            <td><div align="left"><%= rs("dato-fra1") %>/<%= rs("dato-fra2") %>-<%= rs("dato-fra-aarstal") %> - <%= rs("dato-til1") %>/<%= rs("dato-til2") %>-<%= rs("dato-til-aarstal") %></div></td></tr>
            <% if cint(udfold) = nummer then %>
                <tr><td colspan="2" height="2"></td></tr>
                <tr><td colspan="2" cellspacing="10" cellpadding="10"><blockquote><%= rs("beskrivelse") %></blockquote><br></td></tr>
            <% end if %>
        <% end if %>
<% nummer = nummer + 1 %>
        <% rs.MoveNext %>
  <% Loop %>
Avatar billede cthun Nybegynder
22. august 2002 - 12:30 #2
du skal have din <% nummer = nummer + 1 %> før <% rs.moveNext %>
Avatar billede neteffect Nybegynder
22. august 2002 - 12:30 #3
Der er en masse overflødige %><% i koden, som gør det særdeles vanskligt at læse. Fjern dem og find fejlen, for fejlmeddelelsen er givetvis korrekt, sikkert en end if for meget eller for lidt inde i et af dine loops.
Avatar billede zed_one Praktikant
22. august 2002 - 12:36 #4
neteffect - det er måden jeg koder på og måden jeg føler at det er overskueligt

cthun - det æøser da ikke at den brokker sig over at der mangler en "do" sætning selvom den er der? - anyways, prøver det lige
Avatar billede cthun Nybegynder
22. august 2002 - 12:40 #5
Du skal huske at gøre det alle 3 steder!
Avatar billede zed_one Praktikant
22. august 2002 - 12:41 #6
cthun - Virkede ikke
Avatar billede zed_one Praktikant
22. august 2002 - 12:41 #7
cthun - hvorfor egentligt den ændring? ser ikke logikken i det
Avatar billede cthun Nybegynder
22. august 2002 - 12:49 #8
Det ved jeg ikke.. Jeg syntes bare det så lidt mærkeligt ud!
Avatar billede eagleeye Praktikant
24. august 2002 - 16:39 #9
Jeg tror der mangler et end if, nede ved den sidste loop:


            <% end if %>
        <% end if %>
      <% end if  '<----------------------Nyt end if %>
        <% rs.MoveNext %>
        <% nummer = nummer + 1 %>
    <% Loop %>
  <tr>
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