Avatar billede software Nybegynder
18. juni 2002 - 10:19 Der er 20 kommentarer og
1 løsning

Kan ikke gennemskue det lort......

Hej

Jeg har lavet dette:

<ul>
  <% Do While Not rs.EOF %>
  <li id="foldheader"><%=rs("behandling")%></li>
  <ul id="foldinglist" style="display:none" style=&{head};>
      <li><a href="behandling.asp?Id=4" onMouseOver="window.status=''; return true"><%=rs("behandler")%></a></li>
  </ul>
  <%
  rs.MoveNext
  Loop
  Conn.close
  Set Conn = Nothing
  %>
</ul>

og det skal så eksekveres således:

<%
sql = "Select * From opdatering Where Id = " & Request.QueryString("Id")

Set rs = Conn.Execute(sql)

%>

  <tr>
    <td width="75%" valign="top">
      <b><%=rs("behandler")%></b><BR>
        <%=replace(rs("behandlertekst"),vbcrLF,"<br>")%></td>
    <td valign="top" align="right" rowspan="4"><img src="<%=rs("billed")%>"></td>
  </tr>

og jeg får så følgende fejl:

Elementet kan ikke findes i den samling, der svarer til det anmodede navn eller ordenstal.
line 171

hvor line 171 er hvor der står <%=rs("behandler")%>

Det underlige (for mig) er, at hvis jeg fjerner Do while sætningen, rs.movenext, loop og conn.close conn = nothing, så virker det.

Jeg håber sgu at der er nogen som kan gennemskue det her, for jeg kan ikke.
Avatar billede ellebaek Nybegynder
18. juni 2002 - 10:38 #1
Jeg vil foreslå dig at benytte en While løkke i stedet for Do While...
<% While not rs.EOF %>
bla bla bla...
<%
rs.movenext
rs.close
set rs = nothing
%>
Det plejer at virke for mig, Benytter meget sjældent Do While, har ikke gode erfaringer med denne...
Avatar billede keysersoze Guru
18. juni 2002 - 10:44 #2
det tyder på, at der i databasen ikke findes en kolonne der hedder "behandler"
Avatar billede eagleeye Praktikant
18. juni 2002 - 10:49 #3
Det er lige meget som det er en do While eller while det giver samme resultat. Det som keysersoze skriver, mere sansynligt at du ikke har en kolonne som hedder "behandling"

Eller at du i din SL har skrevet:
"SELECT kolonne1 FROM tabel"

Og mangler derfor at få behandling med:
"SELECT kolonne1,behandling  FROM tabel"

Eller for at få alle kolonner med en *: "SELECT * FROM tabel"
Avatar billede eagleeye Praktikant
18. juni 2002 - 10:50 #4
hmm jeg er kommet til at skrive  behandling  og det skulle være  behandler  alle steder.
Avatar billede software Nybegynder
18. juni 2002 - 10:56 #5
Jeg har en kolonne som hedder behandler og som jeg også har skrevet så virker det hvis jeg fjerne Do While osv. bare med det resultat at jeg kun får udskrevet 1 link. Jeg bruger Do While for at få udskrevet alle de behandlere jeg har stående i databsen, som links.
Avatar billede eagleeye Praktikant
18. juni 2002 - 11:00 #6
Hvordan ser din SQL ud?
Avatar billede software Nybegynder
18. juni 2002 - 11:02 #7
Når jeg udskriver min sql ser den sådan ud:

Select * From opdatering Where Id = 4

*afhængigt af hvilket link man trykker på
Avatar billede eagleeye Praktikant
18. juni 2002 - 11:09 #8
nu er ejeg ikke helt med det kode her:

<%
sql = "Select * From opdatering Where Id = " & Request.QueryString("Id")

Set rs = Conn.Execute(sql)

%>

  <tr>
    <td width="75%" valign="top">
      <b><%=rs("behandler")%></b><BR>
        <%=replace(rs("behandlertekst"),vbcrLF,"<br>")%></td>
    <td valign="top" align="right" rowspan="4"><img src="<%=rs("billed")%>"></td>
  </tr>


Er det før eller efter det føste kode du viste i spørgsmålet?
Avatar billede software Nybegynder
18. juni 2002 - 11:16 #9
sql'en som jeg har udskrevet kommer fra den kode du har skrevet.
Avatar billede eagleeye Praktikant
18. juni 2002 - 11:19 #10
Ja men hvor ligger det kode i forhold til dette:

<%
sql = "Select * From opdatering Where Id = " & Request.QueryString("Id")

Set rs = Conn.Execute(sql)

%>

  <tr>
    <td width="75%" valign="top">
      <b><%=rs("behandler")%></b><BR>
        <%=replace(rs("behandlertekst"),vbcrLF,"<br>")%></td>
    <td valign="top" align="right" rowspan="4"><img src="<%=rs("billed")%>"></td>
  </tr>

Er det samme SQL der bruges til begge stykker kode?
Avatar billede eagleeye Praktikant
18. juni 2002 - 11:21 #11
Copy Paste Fejl prøver lige mit spørgsmpl igen: bare glem kommentar (18/06-2002 11:19:44)

Ja men hvor ligger det kode i forhold til dette:


<ul>
  <% Do While Not rs.EOF %>
  <li id="foldheader"><%=rs("behandling")%></li>
  <ul id="foldinglist" style="display:none" style=&{head};>
      <li><a href="behandling.asp?Id=4" onMouseOver="window.status=''; return true"><%=rs("behandler")%></a></li>
  </ul>
  <%
  rs.MoveNext
  Loop
  Conn.close
  Set Conn = Nothing
  %>
</ul>

Er det samme SQL der bruges til begge stykker kode?
Avatar billede software Nybegynder
18. juni 2002 - 11:25 #12
Ok, nu forstår jeg....Nej, til det stykke kode du har der bruger jeg denne sql:

<%
sql = "Select * From opdatering Where Id < 50 Order By Id"
Set rs = Conn.Execute(sql)
%>
Avatar billede kimkjær Nybegynder
18. juni 2002 - 11:31 #13
Din sql skal komme før <%=rs("behandling")%>

Jeg vil også foreslå dig at lave koden om til at bruge while istedet for dop while!
Avatar billede eagleeye Praktikant
18. juni 2002 - 12:08 #14
ok hoved sagen er at der står * efter select så du får alle kolonne med... Så kan jeg godt forstå du syntes det er lidt underligt. Prøv lige for en sikkerhedskyld at se at kolonnen også er stavet på samme måde i databasen (behandler).
Avatar billede software Nybegynder
18. juni 2002 - 12:55 #15
Jeg har nu i desperation flyttet
<%
sql = "Select * From opdatering Where Id = " & Request.QueryString("Id")

Set rs = Conn.Execute(sql)

%>

ned så det står lige over  <tr>
    <td width="75%" valign="top">
      <b><%=rs("behandler")%></b><BR>
        <%=replace(rs("behandlertekst"),vbcrLF,"<br>")%></td>
    <td valign="top" align="right" rowspan="4"><img src="<%=rs("billed")%>"></td>
  </tr>

og får nu følgende fejl:

Der opstod en Microsoft VBScript-kørselsfejl (0x800A01A8)
Et objekt er obligatorisk

???????????????????????????????????????????????????
Avatar billede eagleeye Praktikant
18. juni 2002 - 13:01 #16
Det er nok Conn som du mangler at definere og åbne.
Set Conn = Server.CreateObject("ADODB.Connetion")


Hvilken databasen bruger du?
Avatar billede software Nybegynder
18. juni 2002 - 13:06 #17
Nej, det har lavet sådan:

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "Driver={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("opdater.mdb")
Conn.Open DSN
Avatar billede eagleeye Praktikant
18. juni 2002 - 13:08 #18
har du så en:
set rs = Server.CreateObject("ADODB.Recordset") ?
Avatar billede software Nybegynder
18. juni 2002 - 13:13 #19
Nej det har jeg ikke.....Er det nødvendigt ??
Avatar billede eagleeye Praktikant
18. juni 2002 - 13:17 #20
Det kan det være... når man bruger rs i koden.
Avatar billede software Nybegynder
12. juli 2002 - 09:04 #21
Havde sgu helt glemt det her sprøgsmål.....Sorry.
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