Avatar billede skb Nybegynder
29. april 2004 - 09:17 Der er 19 kommentarer

Oprettelse af tabel med flere kolonner i ASP

Jeg har oprettet en tabel med 3 kolonner, der automatisk skal udfyldes, alt efter hvor mange recordset der kommer fra databasen, men jeg får konstant af vide at der er en kompileringsfejl. Er der nogle der kan hjælpe mig. Min ASP ser sådan ud:

<%
'dan query
strSQL="SELECT * From Medarbejdere Order by medarbejder"
%>



<table width=600 border="0" class="body">


<tr>
    <td><img src="spacer.gif" width="200" height="1"></td>
    <td><img src="spacer.gif" width="200" height="1"></td>
    <td><img src="spacer.gif" width="200" height="1"></td>

</tr>
<%

    While not RS.EOF
    count=1
    Response.Write("<tr width=200>")
    while count<4


Do

'Udskriv vaerdien af kolonne Overskrift og tekst

Response.Write ("<a href=mailto:")
Response.Write rs("Mail")
Response.Write (">")
Response.Write ("<img border=0 src=Admin/")
Response.Write rs("Billede")
Response.Write (">")
Response.Write("<font face='Arial' size='1' color='#000000'>")
Response.Write ("<br>")
Response.Write rs("Medarbejder")
Response.Write ("<br>")
Response.Write rs("Stilling")
Response.Write("</font>")
Response.Write ("</a>")
Response.Write ("<p>")

    count=count+1

'Gaa til naeste Record i rs
rs.MoveNext
Wend
Loop While Not rs.EOF

%>
</table>
Avatar billede mm12010 Nybegynder
29. april 2004 - 09:20 #1
prøv at fjerne 'Wend'
Avatar billede mm12010 Nybegynder
29. april 2004 - 09:21 #2
sorry - prøv i stedet at skrive disse i omvendt rækkefølge:

  Wend
  Loop While Not rs.EOF

altså:

  Loop While Not rs.EOF
  Wend
Avatar billede skb Nybegynder
29. april 2004 - 09:36 #3
Duer desværre ikke. Jeg synes jeg har prøvet alle former for afslutning på sætningen.
Det pudsiger er, at meddelelsen på linien

Loop While Not rs.EOF
wend

er, 'Wend' var ventet

Mit problem er stadig ikke løst.
Avatar billede agerled Nybegynder
29. april 2004 - 09:45 #4
<%

    While not RS.EOF
    count=1
    Response.Write("<tr width=200>")
    while count<4


Do

'Udskriv vaerdien af kolonne Overskrift og tekst

Response.Write ("<a href=mailto:")
Response.Write rs("Mail")
Response.Write (">")
Response.Write ("<img border=0 src=Admin/")
Response.Write rs("Billede")
Response.Write (">")
Response.Write("<font face='Arial' size='1' color='#000000'>")
Response.Write ("<br>")
Response.Write rs("Medarbejder")
Response.Write ("<br>")
Response.Write rs("Stilling")
Response.Write("</font>")
Response.Write ("</a>")
Response.Write ("<p>")

    count=count+1

'Gaa til naeste Record i rs
rs.MoveNext
Wend


%>
Avatar billede agerled Nybegynder
29. april 2004 - 09:46 #5
hov. du skal ikke lige have "Do" med:

<%

    While not RS.EOF
    count=1
    Response.Write("<tr width=200>")
    while count<4


'Udskriv vaerdien af kolonne Overskrift og tekst

Response.Write ("<a href=mailto:")
Response.Write rs("Mail")
Response.Write (">")
Response.Write ("<img border=0 src=Admin/")
Response.Write rs("Billede")
Response.Write (">")
Response.Write("<font face='Arial' size='1' color='#000000'>")
Response.Write ("<br>")
Response.Write rs("Medarbejder")
Response.Write ("<br>")
Response.Write rs("Stilling")
Response.Write("</font>")
Response.Write ("</a>")
Response.Write ("<p>")

    count=count+1

'Gaa til naeste Record i rs
rs.MoveNext
Wend


%>
Avatar billede skb Nybegynder
29. april 2004 - 09:58 #6
Jo, for når jeg fjerner 'Do' er beskedden:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A040E)
'Loop' uden 'Do'
, og hvis jeg sætter Do ind i slutningen af sætningen starter problemerne forfra, med besked om at 'Wend' mangler.

Nye forslag søges?
Avatar billede agerled Nybegynder
29. april 2004 - 10:04 #7
prøv at fjerne loop og do helt..
Avatar billede agerled Nybegynder
29. april 2004 - 10:05 #8
while not rs.eof

"udskriv dine data"

rs.movenext
wend
Avatar billede nute Nybegynder
29. april 2004 - 10:07 #9
det er da "håbløst" at lave en dobbel loop for dette. hvorfor gør du ikke bare sådan:

<%
Response.Write("<tr width=200>")
count=1
While not RS.EOF
   
    'Udskriv vaerdien af kolonne Overskrift og tekst
    Response.write( "<td>" )
    Response.Write ("<a href=mailto:")
    Response.Write rs("Mail")
    Response.Write (">")
    Response.Write ("<img border=0 src=Admin/")
    Response.Write rs("Billede")
    Response.Write (">")
    Response.Write("<font face='Arial' size='1' color='#000000'>")
    Response.Write ("<br>")
    Response.Write rs("Medarbejder")
    Response.Write ("<br>")
    Response.Write rs("Stilling")
    Response.Write("</font>")
    Response.Write ("</a>")
    Response.Write ("<p>")
    Response.Write( "</td>" )
   
    if( count = 4 ) then
        Response.Write( "</tr><tr width=""200"">" )
    end if

    'Gaa til naeste Record i rs
    rs.MoveNext
Wend
Response.write( "</tr>" )
%>

/nute
Avatar billede nute Nybegynder
29. april 2004 - 10:08 #10
ups ... denne:

if( count = 4 ) then
        Response.Write( "</tr><tr width=""200"">" )
    end if

skal være

if( count = 4 ) then
    Response.Write( "</tr><tr width=""200"">" )
    count = 1
else
    count = count + 1
end if
Avatar billede skb Nybegynder
29. april 2004 - 10:38 #11
Tæt på.
Fejlen peger nu på linien
While not RS.EOF

Beskedden er:
Et objekt er obligatorisk: ''

HJÆLP!!
Avatar billede agerled Nybegynder
29. april 2004 - 11:06 #12
while not strSQL.eof

(måske)
Avatar billede nute Nybegynder
29. april 2004 - 11:11 #13
tja .. .mon ikke du skal åbne dit recordset inden du prøver at loope igennem det ??

'dan query
strSQL="SELECT * From Medarbejdere Order by medarbejder"
Set objConn = Server.CreateObject( "ADODB.Connection" )
objConn.open( [dinDSN] )
Set rs = objConn.Execute( strSQL )
Response.Write("<tr width=200>")
count=1
While not rs.EOF
Avatar billede skb Nybegynder
29. april 2004 - 11:20 #14
heller ikke felmeddelelsen er stadig den samme!!
Avatar billede nute Nybegynder
29. april 2004 - 11:29 #15
kan du poste hele den kode du prøver at køre, så vi har noget mere at arbejde med, end blot stumper af kode uden at vi ved hvad du faktisk prøver på ?!
Avatar billede skb Nybegynder
29. april 2004 - 11:30 #16
<%
' Her oprettes forbindelsen
Set Conn = Server.CreateObject("ADODB.Connection")
DSN ="DRIVER={Microsoft Access Driver (*.mdb)};"
DSN = DSN & "DBQ=" & server.mappath("../Sideindhold.mdb")
Conn.Open DSN



Dim Conn, RS, strConnection
%>     

<html>
<head>
<title>List ads</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="uge" type="text/css">
</head>

<body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#000000" alink="#000000">


<%

'dan query
'strSQL="SELECT * From Medarbejdere Order by medarbejder"
%>



<table width=600 border="0" class="body">


<tr>
<td><img src="spacer.gif" width="200" height="1"></td>
<td><img src="spacer.gif" width="200" height="1"></td>
<td><img src="spacer.gif" width="200" height="1"></td>

</tr>
<%
'Response.Write("<tr width=200>")
'count=1

While not RS.EOF


'Udskriv vaerdien af kolonne Overskrift og tekst
Response.write( "<td>" )
Response.Write ("<a href=mailto:")
Response.Write rs("Mail")
Response.Write (">")
Response.Write ("<img border=0 src=Admin/")
Response.Write rs("Billede")
Response.Write (">")
Response.Write("<font face='Arial' size='1' color='#000000'>")
Response.Write ("<br>")
Response.Write rs("Medarbejder")
Response.Write ("<br>")
Response.Write rs("Stilling")
Response.Write("</font>")
Response.Write ("</a>")
Response.Write ("<p>")
Response.Write( "</td>" )

if( count = 4 ) then
Response.Write( "</tr><tr width=""200"">" )
count = 1
else
count = count + 1
end if


'Gaa til naeste Record i rs
rs.MoveNext
Wend


Response.write( "</tr>" )
%>

</table>





</body>
</html>
Avatar billede nute Nybegynder
29. april 2004 - 11:41 #17
ehh ... det er jo ikke så mærkelig at det ikke fungerer. du har flere fejl:

1) Du dimmer 'Conn' objektet *efter* at du har åbnet det. Disse linier:

Set Conn = Server.CreateObject("ADODB.Connection")
DSN ="DRIVER={Microsoft Access Driver (*.mdb)};"
DSN = DSN & "DBQ=" & server.mappath("../Sideindhold.mdb")
Conn.Open DSN

Dim Conn, RS, strConnection

skal være :

Dim Conn, RS, strConnection
Set Conn = Server.CreateObject("ADODB.Connection")
DSN ="DRIVER={Microsoft Access Driver (*.mdb)};"
DSN = DSN & "DBQ=" & server.mappath("../Sideindhold.mdb")
Conn.Open DSN

2) du åbner aldrig dit recordset. Disse linier:

'dan query
'strSQL="SELECT * From Medarbejdere Order by medarbejder"

skal være

'dan query
strSQL="SELECT * From Medarbejdere Order by medarbejder"´
Set rs = Conn.Execute( strSQL )

/nute
Avatar billede skb Nybegynder
29. april 2004 - 11:47 #18
SÅDAN

Det kører helt perfekt.

TAK!!!!!!
Avatar billede nute Nybegynder
29. april 2004 - 12:33 #19
fino ...
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