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>
Annonceindlæg fra SoftwareOne
29. april 2004 - 09:20
#1
prøv at fjerne 'Wend'
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
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.
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 %>
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 %>
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?
29. april 2004 - 10:04
#7
prøv at fjerne loop og do helt..
29. april 2004 - 10:05
#8
while not rs.eof "udskriv dine data" rs.movenext wend
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
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
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!!
29. april 2004 - 11:06
#12
while not strSQL.eof (måske)
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
29. april 2004 - 11:20
#14
heller ikke felmeddelelsen er stadig den samme!!
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å ?!
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>
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
29. april 2004 - 11:47
#18
SÅDAN Det kører helt perfekt. TAK!!!!!!
29. april 2004 - 12:33
#19
fino ...
Kurser inden for grundlæggende programmering