|
|
|
|
|
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
|
|
|
|
|