Avatar billede perstig Nybegynder
13. marts 2001 - 23:37 Der er 3 kommentarer og
1 løsning

Paging

Jeg ahr langt om længe fået paging til at virke, men der er opstået et lille problem.

Den sidste side der vises komme op med en meddelse om at \"en undtagelse er opstået\"
Jeg er kommet frem til at opstår fordi: siderne er sat til at der skal vises 5 records pr. side, men hvis sidste side kun har 3 records komme fejlen.
Det er jo sjælent at man er så heldig at antal records i recordssettet \"går op\" med den værdi man har sat som \"antal records pr. side\"

(herunder kan i se den del af koden som det drejer sig om)
                    <%
                        set rs = Server.CreateObject(\"ADODB.RecordSet\")

                        strSQL6 =\"SELECT * FROM FS_AlleVare WHERE UGrp3ID_Ref = \" & UGrp3ID & \"AND UGrp1ID_Ref = \" & request.cookies(\"ugrp1\")(\"id\")
                        strDBCon = \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db/WebShopDB.mdb\")

                        rs.open strSQL6, strDBCon, 1

                        Varet = rs(\"VareNr\")
                          VareNr = rs(\"UGrp3ID_Ref\")
                        response.cookies(\"vare\") = Varet
                        response.Cookies(\"vare\")(\"id\") = VareNr
                        response.cookies(\"vare\").expires = now() + 60%>
                   
                    <TABLE WIDTH=\"100%\" ALIGN=\"center\" BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"1\">
                    <TR>
                        <TD CLASS=\"cell5\" HEIGHT=\"20\" ALIGN=\"left\"><%response.write request(\"page\")%></TD>
                    </TR>
                    <TR>
                        <TD CLASS=\"cell6\"><SPAN CLASS=\"htext\"><CENTER><%response.write request.cookies(\"ugrp2\")(\"tekst\")%></CENTER></SPAN>

                        <TABLE WIDTH=\"550\" ALIGN=\"center\">
                        <TR>
                        <%
                            if not(rs.EOF) And Not(rs.BOF) then               
                                rs.movefirst
                                rs.PageSize = 3
                                rs.AbsolutePage = intPage
                                intRecCount = rs.PageSize
                                intPageCount = rs.PageCount

                                response.write\"<P><B>Side \"&intPage&\" af \"&intPageCount&\"</B></P>\"
                                do while not rs.EOF and intRecCount > 0%>
                              <TR>
                                    <TD WIDTH=\"15%\" ROWSPAN=\"2\" ALIGN=\"center\" VALIGN=\"middle\"><IMG SRC=\"images/vare/<%=rs(\"BilledNr\")%>.jpg\" BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"58\"  ALIGN=\"bottom\" ALT=\"Klik her og se et stort billed af vare\"></TD>
                                    <TD CLASS=\"btext\" WIDTH=\"65%\"><%response.write rs.fields(\"Tekst2\")%>&nbsp;<%response.write rs.fields(\"Tekst3\")%></TD>
                                    <TD CLASS=\"atext\" WIDTH=\"20%\" rowspan=\"2\"><IMG SRC=\"images/tom1.gif\" BORDER=\"0\" WIDTH=\"40\" HEIGHT=\"48\" ALIGN=\"bottom\" ALT=\"\"></TD>
                              </TR>
                              <TR>
                                    <TD WIDTH=\"65%\">Pris</TD>
                              </TR>
                        <SPAN CLASS=\"atext\">
                        <%
                            intRecCount = intRecCount - 1   
                                rs.movenext
                            loop
                            end if
                       
                            Response.Write \"<p>Gå til side \"
                            For intNum = 1 To intPageCount
                                  Response.Write \"<a href=index.asp?UGrp3=\"&rs.fields(\"UGrp3ID_Ref\")&\"&page=\" & intNum & \" ><FONT COLOR=00035E>\" & intNum & \"</a> </FONT>\"
                            Next

                            Response.Write \"<p>\"
                            If Clng(intPage) > 1 Then
                                  Response.Write \"<a href=index.asp?UGrp3=\"&rs.fields(\"UGrp3ID_Ref\")&\"&page=\" & intPage - 1 & \"><FONT COLOR=00035E>&lt;&lt;</a></FONT>\"
                            Else
                                  Response.Write \"<FONT COLOR=00035E>&lt;&lt;</FONT>\"
                            End If

                                Response.Write \"&nbsp;\"

                            If Clng(intPage) < Clng(intPageCount) Then
                                  Response.Write \"<a href=index.asp?UGrp3=\"&rs.fields(\"UGrp3ID_Ref\")&\"&page=\" & intPage + 1 & \"><FONT COLOR=00035E>&gt;&gt;</a> </FONT>\"
                            Else
                                  Response.Write \"<FONT COLOR=00035E>&gt;&gt;</FONT>\"
                            End If%><%Request(\"page\")%></SPAN>
                        </TR>       
                        </TABLE></TD>

                    </TR>
                    </TABLE>
Avatar billede nute Nybegynder
14. marts 2001 - 09:43 #1
hva skjer hvis du fjerner din

rs.movefirst

?? den bør/skal ikke være der...

/nute

PS! det er ikke nødvendig med all den HTML kode du har sendt...send skjelettet av ASP koden din, da er det lettere for oss å hjelpe ;)
Avatar billede perstig Nybegynder
14. marts 2001 - 19:50 #2
Der sker ikke noget. Det giver samme resultat.

Var evt. en ide at putte noget beregning ind vha. MOD(modulus) ??
Og i givet fald hvor og hvordan skal jeg så placere koden?

Jeg kan godt se hvad du mener med al den html kode. Skal prøve at gøre det bedre i fremtiden.
Avatar billede perstig Nybegynder
17. marts 2001 - 11:28 #3
Har selv fundet frem til en løsning.
Jeg SKULLE bruge rs.movefirs, men bare placeret ent andet sted.
Avatar billede perstig Nybegynder
17. marts 2001 - 11:29 #4
lukker
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