Avatar billede cayenne Nybegynder
05. marts 2002 - 13:19 Der er 6 kommentarer og
1 løsning

Hjælp til fejl i ASP kode. Udtræk fra database i kolonner

Jeg har noget kode som (i teorien) skulle udskrive nogle data fra en tabel i 3 kolonner.
Men jeg får fejlmeddelelsen "Expected statement" ved "End if". Hvad gør jeg forkert ?

Her er koden:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ="& Server.MapPath ("../../../fpdb/Fravaer.mdb")

Conn.Open DSN
strSQL = "Select * From tbl_Fravaer Order by Person ASC"
Set rs = Conn.Execute(strSQL)

response.Write("<table>")

do until rs.eof

response.Write("<tr>")
for i = 1 to 3
response.Write("<td>")
if not rs.eof then rs("Person")
response.Write(rs("Person"))
rs.MoveNext
End if
response.Write("</td>")
next
response.Write("</tr>")
loop
response.Write("</table>")
%>

Avatar billede juggalo Nybegynder
05. marts 2002 - 13:26 #1
du har et problem i linien
if not rs.eof then rs("Person")

mon ikke den skulle have været
if not rs.eof then
Avatar billede coltau Juniormester
05. marts 2002 - 13:27 #2
Hvis du trækker linierne ind kan man bedre se det. Fjerne linien:

do until rs.eof

  response.Write("<tr>")
  for i = 1 to 3
    response.Write("<td>")
    if not rs.eof then rs("Person")
    response.Write(rs("Person"))
    rs.MoveNext
    End if ' DENNE LINIE SKAL FJERNES
    response.Write("</td>")
  next
  response.Write("</tr>")
loop
Avatar billede cayenne Nybegynder
05. marts 2002 - 13:30 #3
Tusind tak for hjælpen :o) Det var lige det!
Avatar billede juggalo Nybegynder
05. marts 2002 - 13:30 #4
du kunne også gøre således;
response.write("<table><tr>")
i=0
do until rs.eof
i=i+1
response.write("<td>"&rs("person")&"</td>")
if i mod 3=0 then response.write("</tr><tr>")
rs.movenext
loop
response.write("</table>")
Avatar billede coltau Juniormester
05. marts 2002 - 13:31 #5
Sorry der sov jeg. Linien skal ikke fjernes.
Koden skal se således ud:

do until rs.eof
  response.Write("<tr>")
  for i = 1 to 3
    response.Write("<td>")
    if not rs.eof then
      rs("Person")
      response.Write(rs("Person"))
      rs.MoveNext ' PAS PÅ med at have en rs.MoveNext i en if-sætning.
    End if
    response.Write("</td>")
  next
  response.Write("</tr>")
loop

Hvis if-sætningen ikke udføres kommer du aldrig ud af loopet
Avatar billede juggalo Nybegynder
05. marts 2002 - 13:33 #6
hvis if sætningen ikke udføres er rs.eof, og så kører loopet ingen steder
Avatar billede cayenne Nybegynder
05. marts 2002 - 13:36 #7
Takker mange gange igen, det første svar fra juggalo løste problemet. :o)
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