Premetto che non utilizzo i dataset. Ma per paginare i recordset potresti appoggiarti alla proprietà AbsolutePosition come nell'esempio :
Non ho avuto tempo di testare il codice ma il meccanismo è questo.codice:Dim rs as adodb.RecordSet Dim cn as adodb.Connection .... ' Apertura connessione Set cn = New adodb.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=TuoDB.mdb;Persist Security Info=False" .... ' Estrazione con tua query Dim rs as ADODB.RecordSet Set rs = New adodb.Recordset rs.Open "Select * from TuaTabellaGrandissima", cn, adOpenStatic, adLockOptimistic ' Dichiari una variabile che ti faccia da cursore Public RecCursor as Long ' Con rs.RecordCount ti ricavi quanti record hai nel RecordSet Private Sub BottoneAvanti_Click() Dim i as Long ' Quanti record vuoi per volta, poniamo 30 ' Potresti parametrizzare anche questo numero RecCursor = RecCursor + 30 if RecCursor > rs.RecordCount - 1 Then RecCursor = rs.RecordCount - 1 ' arrivi all'ultimo End Sub Private Sub BottoneIndietro_Click() ' Quanti record vuoi per volta, poniamo 30 ' Potresti parametrizzare anche questo numero RecCursor = RecCursor - 30 if RecCursor < 0 Then RecCursor = 0 ' Cominci dal primo End Sub Public Sub ElaboraRecords() Dim i as Long For i = RecCursor - 30 To RecCursor - 1 rs.AbsolutePosition = i ' In questo punto hai il record in posizione i ' Facci quello che vuoi, per esempio aggiungilo ad una ' griglia ecc.. Next i End Sub
Ciao,![]()

Rispondi quotando