Avatar billede johannielsen Nybegynder
13. august 2001 - 21:16 Der er 17 kommentarer og
2 løsninger

ASP GEEKS HER - Lokalisering af ID\'en lige før rs.eof - måske lidt dårligt formuleret...

Jeg har brug for at kunne lokalisere den linie i min Access Database lige før rs.eof, da den side dataene indgår på skal lave et link til den næste...og den sidste skal så ikke lave til den næste, da den jo ikke eksisterer...

ex.

<%
if rs.eof then
idplus = rs(\"id\")
else
idplus = rs(\"id\") + 1
end if
%>

Dette virker ikke, da siden der indeholder dataene før EOF, skal lave et link til den næste, og så stopper den for sent...hmmm, svært at forklare, men prøv nu!

Måske lidt dårligt forklaret, men jeg håber i forstår!
Avatar billede johannielsen Nybegynder
13. august 2001 - 21:24 #1
Hjælper det mon med flere point?
Avatar billede tokelil Nybegynder
13. august 2001 - 21:29 #2
Hvad med at bruge ADO funktionen:
MoveLast ???

altså:
rs.MoveLast
Avatar billede tofte Juniormester
13. august 2001 - 21:32 #3
du har altså en tabel som indeholder nogle felter som indeholder værdi

while not rs.eof
response.write rs(\"felt1\")& \"    \" & rs(\"felt2\")
  rs.movenext
wend

giver følgende output

felt2      felt2
værdi1a    værdi2a
værdi1b    værdi2b
værdi1c    værdi2c

du vil altså vide hvad den sidste linie er, altså den som indeholder:
værdi1c    værdi2c
er det rigtigt forstået
Avatar billede johannielsen Nybegynder
14. august 2001 - 16:13 #4
Det er desværre ikke rigtigt forstået...jeg skal bruge en kommando ligesom \"rs.eof\". RS.EOF er den sidste...jeg skal bruge den næstesidste på samme måde.
Avatar billede nuno Nybegynder
14. august 2001 - 16:16 #5
hvorfor bruger du ikke movelast som tokelil foreslår? Den skulle løse dit problem - for den sætter \"recordset pointeren\" på den sidste record.

altså

rs.Movelast
idplus = rs(\"id\")

nu har du værdien fra rs(\"id\") fra den SIDSTE record i din idplus variabel

/nuno
Avatar billede johannielsen Nybegynder
14. august 2001 - 16:22 #6
Ahhhh

ex.

<%
hej = rsmovelast
if hej = rs(\"id\") then
idplus = rs(\"id\")
else
idplus = rs(\"id\") + 1
end if
%>

Ville det virke?
Avatar billede johannielsen Nybegynder
14. august 2001 - 16:23 #7
Selvfølgelig med . mellem i rs.movelast
Avatar billede johannielsen Nybegynder
14. august 2001 - 18:44 #8
Hmmm, får følgende fejlmeddelse når jeg bruger rs.movelast:

Siden kan ikke vises
Der er opstået et problem med den side, du forsøger at se, og siden kan ikke vises.

--------------------------------------------------------------------------------

Prøv følgende:

Klik på knappen Opdater, eller forsøg igen senere.

Åbn localhost hjemmesiden, og søg derefter efter hyperlinks til de ønskede oplysninger.
HTTP 500,100 - Intern fejl på serveren - ASP-fejl -
Internet Information Services

--------------------------------------------------------------------------------

Tekniske oplysninger (for supportteknikere)

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E24)
Rækkesættet understøtter ikke baglæns hentning.
/active/viselev.asp, line 64


Browsertype:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

Side:
GET /active/default.asp

Klokkeslæt:
14. august 1998, 17:36:16


Yderligere oplysninger:
Microsoft Support


Avatar billede johannielsen Nybegynder
14. august 2001 - 18:45 #9
Min kode så I kan se det i praxis...

<p align = center>
<font face=\"tahoma\" size=\"2\" color=\"#000000\">
<b>-- profil --</b>
</p>

<%
Conn = \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db\\bjerget.mdb\") & \";UID=admin;PWD=;\"
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open Conn

idnr = Trim(Request(\"id\"))

if idnr = \" \" then %> Desværre! <%
Else
Set rs = myConn.Execute(\"SELECT * FROM elev WHERE id=\" & idnr)
%>

<table cellspacing=\"0\" cellpadding=\"1\" border=\"0\">
<tr>
    <td width=110><font face=\"tahoma\" size=2><b>Navn</b></font></td>
    <td width=267><font face=\"tahoma\" size=2><%=rs(\"navn\")%></font></td>
    <td rowspan=\"9\" width=200>Intet billede desværre</td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Årgang</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"start\")%>-<%=rs(\"slut\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Adresse</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"adresse\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Telefonnummer</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"tlf\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Mobil</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"mobil\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Email</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"email\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>ICQ</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"icq\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Beskæftigelse</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"job\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Fritekst</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"fri\")%></font></td>
</tr>
</table>

<%
idnu = rs(\"id\")
idminus = idfis - 1
if idminus = 0  then idminus = 1


rs.movelast
if idnu = rs(\"id\") then
idplus = idnu
else
idplus = idnu +1
end if
%>

<br><br>
<table cellspacing=\"2\" cellpadding=\"2\" border=\"0\" align=center>
<tr>
    <td align=\"center\"><font face=\"tahoma\" size=2><b><a href=default.asp?vis=viselev&id=<%=idminus%>><-forrige</b></a></font></td>
    <td align=\"center\" width=200><font face=\"tahoma\" size=2><b><a href=default.asp?vis=elev>-- tilbage til oversigten --</b></a></font></td>
    <td align=\"center\"><font face=\"tahoma\" size=2><b><a href=default.asp?vis=viselev&id=<%=idplus%>>næste-></b></a></font></td>
</tr>
</table>

<% end if
myConn.Close
Set myConn = Nothing
%>
Avatar billede johannielsen Nybegynder
14. august 2001 - 18:47 #10
Skal jeg lave en nyt set rs?
Avatar billede tofte Juniormester
14. august 2001 - 19:50 #11
set rs = Server.CreateObject(\"ADODB.Recordset\")
rs.Open \"SELECT * blablabla\", Conn, 1, 3

så burde du kunne bruge rs.movelast
Avatar billede johannielsen Nybegynder
14. august 2001 - 20:19 #12
Hvad betyde, Conn, 1, 3 ????
Avatar billede johannielsen Nybegynder
14. august 2001 - 22:03 #13
Hmmm, nu kommer der en anden fejl, men jeg mangler \"end\" - et sted for det faktisk står!

Hmm, hvis du giver et svar skal du nok får point!
Avatar billede nuno Nybegynder
15. august 2001 - 10:15 #14
så vidt jeg kan se er det denne if-sætning der mangler en end if


if idnr = \" \" then
%>
Desværre!
<%
Else
Set rs = myConn.Execute(\"SELECT * FROM elev WHERE id=\" & idnr)
%>

<table cellspacing=\"0\" cellpadding=\"1\" border=\"0\">
<tr>
    <td width=110><font face=\"tahoma\" size=2><b>Navn</b></font></td>
    <td width=267><font face=\"tahoma\" size=2><%=rs(\"navn\")%></font></td>
    <td rowspan=\"9\" width=200>Intet billede desværre</td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Årgang</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"start\")%>-<%=rs(\"slut\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Adresse</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"adresse\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Telefonnummer</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"tlf\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Mobil</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"mobil\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Email</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"email\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>ICQ</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"icq\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Beskæftigelse</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"job\")%></font></td>
</tr>
<tr>
    <td><font face=\"tahoma\" size=2><b>Fritekst</b></font></td>
    <td><font face=\"tahoma\" size=2><%=rs(\"fri\")%></font></td>
</tr>
</table>
<%
end if

Avatar billede johannielsen Nybegynder
15. august 2001 - 17:27 #15
->Nuno

Ligemeget! - vil du gerne have lidt point? - så lig et svar...
Avatar billede johannielsen Nybegynder
15. august 2001 - 17:28 #16
Altså det er ligemeget, fordi jeg har fundet ud af det...med rs.movelast.
Avatar billede nuno Nybegynder
16. august 2001 - 12:46 #17
jooh - tak :)
Avatar billede johannielsen Nybegynder
16. august 2001 - 15:31 #18
Hmmm, kan du lide hurtigt fejlkode denne kode? - nogle gange virker den...det er lidt sært.

<% Option Explicit %>
<html>
<head>
<meta http-equiv=\"refresh\" content=\"10\">
</head>
<body background=\"gfx\\online.gif\">
<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">
<tr>
  <td width=\"30\"></td>
  <td width=\"173\"><font face=\"Tahoma\" size=\"2\" color=\"#000000\">
<%
Dim Userlist, Datelist, i, num, users, refresh

\' Retrieve application arrays
users = Application(\"users\")
refresh = Application(\"refresh\")

\' Find current user and update his refresh time
For i = 1 To 50
  If users(i) = Session(\"name\") Then
      refresh(i) = Time
      Exit For
  End If
Next

\' Has ANYONE been gone more than 20 seconds?
For i = 1 To 50
  If users(i) <> \"\" Then
      If DateDiff(\"s\",refresh(i), Time) > 20 Then
        Application(\"conversation\") = Application(\"conversation\") & \"|\" & \"<b><i>\" & users(i) & \" [\" & Session(\"start\") & \"-\" &_
            session(\"slut\") & \"]\" &_
            \" har forladt fællesskabet</b></i><br>\"
        users(i) = \"\"
        Application(\"NumUsers\") = Application(\"NumUsers\") - 1
      End If
  End If
Next
Application.Lock
Application(\"users\") = users
Application(\"refresh\") = refresh
Application.Unlock
%>
<b>Antal Personer <%=Application(\"NumUsers\")%></b><br>
<%
For i = 1 To 50
  If users(i)<> \"\" Then
      Response.Write users(i) & \" [\" & Session(\"start\") & \"-\" &_
            session(\"slut\") & \"]\" & \"<br>\"
  End If
Next
%>
</td>
</tr>
<tr valign=\"bottom\" align=\"center\">
<td align=center colspan=2 height=40>
<a href=\"default.asp?vis=chat\" target=\"_parent\"><img src=\"gfx/knap.gif\" width=\"57\" height=\"26\" border=\"0\" alt=\"\" align=\"absmiddle\"></a>
</font>
</td>
</tr>
</table>
</body>
</html>

Fejlen er at typerne ikke passer sammen i følgende linie:

If users(i) <> \"\" Then

- og det virker så nogle gange...faktisk lige indtil i går...det er meget mystisk!
Avatar billede johannielsen Nybegynder
16. august 2001 - 15:32 #19
Hvis du løser den er der + 4 point!
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