Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di mmaria
    Registrato dal
    Apr 2003
    Messaggi
    594

    Come scegliere dal 5 al 20 record

    Ciao ragazzi lavoro in asp ed ho un problema. Devo visualizzare dal 5° al 20° record di un database Access...
    ho questo script
    come devo fare?

    sql="SELECT TOP 20 * FROM articoli where comune = 'video' and sub_id = 202 ORDER BY ad_ID DESC"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    if not rs.eof then

    ù
    e bacini...
    Grazie per quello che hai fatto...

  2. #2
    select top 15 from (select top 20 order by ... desc) order by ... ASC


    è solo un esempio, ok? così non fuznia, è solo per farti capire, adattalo

  3. #3
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Altro esempio:

    codice:
    sql="SELECT TOP 20 * FROM articoli where comune = 'video' and sub_id = 202 ORDER BY ad_ID DESC" 
    Set rs = Server.CreateObject("ADODB.Recordset") 
    rs.Open sql, conn ,3,3
    
    contatore = 1
    Do Until rs.EOF or contatore > 20
      If contatore > 5 Then
        ' Operazioni da fare dal quinto al ventesimo record
      End If
      contatore = contatore + 1
      rs.MoveNext
    Loop

  4. #4
    Utente di HTML.it L'avatar di mmaria
    Registrato dal
    Apr 2003
    Messaggi
    594

    Grazie a longline

    longline
    ti ringrazio perché funziona quanto mi hai detto di fare...
    ti mando tanti bacini
    Tua Maria

    Grazie per quello che hai fatto...

  5. #5
    funzia, ma che performance povera.... ti voglio vedere dal record 12450 al 12500

  6. #6
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Originariamente inviato da optime
    funzia, ma che performance povera.... ti voglio vedere dal record 12450 al 12500
    Ti stai rivolgendo ad una persona che non sa come trattare 15 record saltando i primi 5, e parli di prestazioni o di select nidificate?

    Alla luce del tuo commento, affinché risulti utile in questo thread, devi spiegare l'efficenza della tua soluzione, sennò poi sembra che hai postato solo perchè te la tiri, dai

  7. #7
    Puoi saltare con recset.Movenext al numero che vuoi come 5 nel tuo caso e fa TOP 20 quante te ne servono.

    Con Mysql questo è molto più semplice basta il LIMIT 12450, 50
    Per il vostro piacere di navigare
    nuovemodelle.com
    Quando cominceranno a capirmi mi avranno già programmato...

  8. #8
    Originariamente inviato da longline
    Ti stai rivolgendo ad una persona che non sa come trattare 15 record saltando i primi 5, e parli di prestazioni o di select nidificate?

    Alla luce del tuo commento, affinché risulti utile in questo thread, devi spiegare l'efficenza della tua soluzione, sennò poi sembra che hai postato solo perchè te la tiri, dai
    long, mangiato pesante?

  9. #9
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Originariamente inviato da optime
    long, mangiato pesante?
    Per nulla

    Non sospetti che mmaria abbia utilizzato la mia soluzione solo perchè non ha capito la tua? Invece di spiegare pro e contro di entrambe, ti limiti a fare critiche senza far capire i motivi a chi non può capirli perché è alle prime armi... Non mi pare molto utile.

    X mmaria, il suggerimento di optime era questo:

    select top 15 from (select top 20 order by ... desc) order by ... ASC

    Nel dettaglio:

    1 - metti i record della tabella nell'ordine che ti permette di avere come primi i 20 record (i 5 da saltare + i 15 che ti interessano)

    2 - prendi il risultato della query (i 20 record), inverti l'ordinamento e prendi i primi 15, in questo modo scarterai i 5 che non ti interessano

    la parte 1 era quella dentro alla parentesi, la parte 2 quella fuori dalle parentesi.

    In questo modo potrai lavorare senza appesantire il server.

    Ciao a tutti

  10. #10
    rs.absoluteposition = 5

    ciclo 1 to 16

    ...


    più veloce

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.