Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Paging ej recordset?

Postades av 2003-06-16 21:44:45 - Peter Milered, i forum asp - allmänt, Tråden har 2 Kommentarer och lästs av 403 personer

Hra en lite fundering. Jag har en artikel/text sparad i ett PM fält i min Access databas och vill lista ut detta på sidan, MEN sidan ska ej vara scrollbar och är relativt begränsad i bredd, så jag kanske bara kan ta ut ex 1000 tecken per sida men texten kanske är typ 3000 tecken lång.

Så vad jag vill (tror jag) är en paging funktion fast för själva datan inte flera recordset. Har lite funderingar att använda Arrayer men ... Någon som har en idé


Svara

Sv: Paging ej recordset?

Postades av 2003-06-17 00:10:07 - Pelle Johansson

Hej,

För att lösa detta så har du redan bestämt förutsättningen. Du visar en del av ett dokument. När du hämtar ut en blob (i detta fall ett memofält) så vet du längden på hela textmassan. Den är:

<code>
Length = Len(MinBlob)
</code>

Säg att den är 42800 tecken lång. Du har även bestäm att 10.000 tecken skall visas åt gången och då kan du också få reda på hur många virtuella sidor det kan tänkas bli.

<code>
Pages = Length/10000
</code>

Är det 42000 tecken så kommer det bli 4,2. För att få till ett heltal så får du använda int-kommandot så det blir 5, eftersom det skall vara mer än 4.

<code>
Pages = Int(Length/10000)
</code>

Nu har du kommit så långt att du faktiskt kan bestämma vilken sektion du vill visa. Som du säkert vet så används MID-funktionen för att läsa ett bestämt antal tecken. Vill du har från 10001-20000 så skriver du:

<code>
ThisPage = Mid(MinBlob, 10001, 10000)
</code>

Men du vill istället skicka in en sidangivelse och då får vi ta reda på vad sida 1,2,3,4 och 5 är. Dvs:

<code>
Page = 1
StartPos = Page * 10000
</code>

Om page är 1 så börjar den läsa på 10.000 så därför bör du även använda Page 0 som den absolut första sidan eftersom 0 * 10000 är 0.

Så om du nu i din url råkar skicka med test.asp?page=2 så kanske du kan börja med något i stil med:

<code>
MyPage = Request.QueryString("page")
If MyPage = "" Then MyPage = 0

Set Rst = Con.Execute("Hämta fältet jag skall använda")

If Not Rst.Eof Then
MyBlob = Rst("MyPage")
MaxPages = Int(Len(MyBlob)/10000)
End If

Rst.Close

If MaxPages > 0 and len(MyBlob) > 0 Then

If MyPage <= MaxPages Then
Pagestart = MyPage * 10000
CurrentPage = Mid(MyBlob, PageStart, 10000)
Else
' finns inte så många sidor som du angett
End If
Else
' vi har tyvärr inga sidor att visa
End If

Response.Write CurrentPage

</code>

Nu är detta bara ett utkast och kommer säkerligen inte fungera på första försöket men jag hoppas att detta är en teknik som kanske hjälper dig vidare. Lycka till


Svara

Sv: Paging ej recordset?

Postades av 2003-06-17 01:13:49 - Peter Milered

Tack så mycket Pelle : )


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 798
27 960
271 761
2 966
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies