Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[ASP] Paging vraag

Annie
5 antwoorden
  • Ik heb een stukje code van het internet gehaald en daar zit een record count in voor een recordset.

    [code:1:605097ffd2] Get the number of pages and records
    numpages = rs.PageCount
    numrecs = rs.RecordCount [/code:1:605097ffd2]

    Er stond mij iets van bij dat deze manier niet werkt en de waardes -1 teruggeven. En dat doen ze dus ook.

    Hoe kan ik nu de aantallen uit de recordset halen?
  • Zo kan het wel.

    Gevonden via www.aspin.com
  • Ik had 't zelfde probleem… en ook met de website oplossing kwam ik geen stap verder :-? … heb het maar zo opgelost:
    [code:1:d72b4023e0]
    <%
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\xxxxxx.mdb"))

    rSQL = "SELECT * FROM tabel"
    Set rs = DBconn.Execute(rSQL)
    qSQL = "SELECT * FROM tabel"
    Set qs = DBconn.Execute(qSQL)

    aantal = 0
    %>
    <%
    Do While NOT qs.EOF
    %>
    <%
    aantal = aantal + 1
    %>
    <%
    qs.MoveNext
    Loop
    %>
    [/code:1:d72b4023e0]
    Met <%=aantal%> wordt het aantal records weergegeven (na qSQL) en met rSQL worden 'gewoon' de waarden uit de tabel gehaald…
  • Als je dan toch gebruikt maakt van een tweede query kun je die net zo goed laten tellen.
    select count(*) from tabel
    Je hoeft dan niet door al je records heen te lo(o)pen en kunt het resultaat direct naar je variabele 'aantal' fetchen.

    Bovenstaand voorbeeld is uiteraard versimpelde versie. Als er gebruik gemaakt wordt van diverse velden/diverse tabellen moet er wel e.e.a. gegrouped worden.

    [edit]Xcuus, 'k had beter eerst ff die pagina kunnen bekijken, waar identieke oplossing aangedragen wordt :oops: [/edit]
  • Ok, ben flink aan het zoeken geweest en heb nu een aantal losse stukken code die ik snap, alleen ik krijg ze niet aan elkaar verbonden (werkend)

    Voor het leggen van een verbinding met de database gebruik ik standaard de volgende code:

    [code:1:1a93a436d9]Set con = Server.CreateObject("ADODB.Connection")
    con.Open "DSN-naam"

    ' Our SQL statements
    sql = "SELECT * FROM tabel"
    set Rs = con.Execute(sql)[/code:1:1a93a436d9]

    Op internet vond ik de volgende code voor het tellen van de records in de recordset:

    [code:1:1a93a436d9]<%
    With objRS
    .Source = strSQL
    .ActiveConnection = objConn
    .CursorType = adOpenForwardOnly
    .LockType = adLockReadOnly
    End With

    objRS.Open ,,,, adCmdText

    If Not objRS.EOF then
    arrResults = objRS.GetRows
    End if

    objRS.Close
    Set objRS = Nothing

    If IsArray(arrResults) Then
    intRecordCount = UBound(arrResults, 2) + 1
    End if
    %> [/code:1:1a93a436d9]


    Voor het paging verhaal wil ik de code gebruiken die op de volgende site staat:

    http://www.aspfree.com/authors/tom_smith/drp.asp

    Kan iemand me helpen met het samensmelten van deze stukken code?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.