USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic    (Banco de Dados)

Título da Dica:  Paginar recordset com um Listview
Postada em 7/10/2003 por RAZOR MX            
Este código foi adptado do artigo do Macoratti, para usar um Listview ao invés de um ListBox

Qualquer dúvida eu mando o código comentado!

Private conn As ADODB.Connection
Private rscli As ADODB.Recordset
Dim contador As Long
Dim tamanhopagina As Long

Private Sub Form_Load()
Dim sql As String
Set conn = New ADODB.Connection
conn.Open "PROVIDER=MSDASQL;dsn=msadv;uid=;pwd=;"
Set rscli = New ADODB.Recordset
rscli.CursorLocation = adUseClient
rscli.CursorType = adOpenStatic
rscli.LockType = adLockReadOnly
rscli.PageSize = 25
Set rscli.ActiveConnection = conn
sql = "SELECT * FROM tblclientes"
rscli.Open sql
Call exibe_pagina(1)
End Sub

Private Sub exibe_pagina(pagina)
rscli.AbsolutePage = pagina
tamanhopagina = rscli.PageSize
contador = 1
lblnpage.Caption = pagina
lstpagina.ColumnHeaders.Clear
lstpagina.ListItems.Clear
Set colx = lstpagina.ColumnHeaders.Add(, , "", 500, 0, 0)
Set colx = lstpagina.ColumnHeaders.Add(, , "", 2600)
Set colx = lstpagina.ColumnHeaders.Add(, , "", 3200)
Set colx = lstpagina.ColumnHeaders.Add(, , "", 400, center)
Set colx = lstpagina.ColumnHeaders.Add(, , "", 1000)
While Not (rscli.EOF) And (contador <= tamanhopagina)
    Set Item = lstpagina.ListItems.Add(, , rscli("dbcodcli"), , 0)
    Item.SubItems(1) = rscli("dbnomecli")
    Item.SubItems(2) = rscli("dbendecli")
    Item.SubItems(3) = rscli("dbufcli")
    rscli.MoveNext
    contador = contador + 1
Wend
' exibe os valores
lblreg.Caption = rscli.RecordCount
lblregpage.Caption = rscli.PageSize
lblpage.Caption = rscli.PageCount
lblpage1.Caption = rscli.PageCount
End Sub

Private Sub cmdproximo_Click()
If rscli.AbsolutePage <> -3 Then
   Call exibe_pagina(rscli.AbsolutePage)
  cmdanterior.Enabled = True
Else
  MsgBox " Chegamos a ultima pagina ", vbInformation, "ULTIMA PÁGINA DO RELATÓRIO"
  Call exibe_pagina(rscli.PageCount)
End If
End Sub

Private Sub cmdanterior_Click()
If rscli.AbsolutePage > 2 And rscli.AbsolutePage <> -2 Then
    Call exibe_pagina(rscli.AbsolutePage - 2)
Else
    MsgBox " Chegamos a primeira pagina ", vbInformation, "PRIMEIRA PÁGINA DO RELATÓRIO"
    Call exibe_pagina(1)
End If
End Sub
 


CyberWEB Network Ltda.    © Copyright 2000-2021   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página