LISTVIEW COM ADO APENAS VISUALIZAR
Pessoal, tem como alguém deixar aqui um exemplo bem simples...mais simples mesmo de como preencher uma [Ô]ListView[Ô] com um RecordSet ADO...somente preencher mesmo...só para visualizar todo conteúdo da Tabela...
Encontrei alguns exemplos no site do Macoratti e outros...mas são muito complexo, por ter diversas outras funções interligadas...
Obrigado desde já!
Encontrei alguns exemplos no site do Macoratti e outros...mas são muito complexo, por ter diversas outras funções interligadas...
Obrigado desde já!
Primeiro vc irá no seu form criar seu list view...
Nas propriedades dele (botão direito em cima do listview) vc irá marcar os itens View (3 - lvwReport), Arrange ( 0 - lvwNone), LabelEdit (1 - Manual).
Vai na aba, propriedades ainda, Column Headers, e irá criar as colunas do seu banco de dados que vc quer que apareça...(tipo: Código, Nome, Endereço... e por aà vai)
Ae vc vai fazer os códigos para carregar o seu gente fina listview.. Digamos que o nome dele é lstRegistro.
Ae eu gosto mto de criar uma função para ficar mais fácil de usá-la em vários componentes ao mesmo tempo .. mas vamos lá...
Option Explicit
Public CNN As New ADODB.Connection
Public RSFUN As New ADODB.Recordset [ô]Funcionários
Dim lst As Variant
Dim BancoDeDados, Identidade, Consexao As String
Public Sub PreencheLista()
Set RSFUN = New ADODB.Recordset [ô]RSFUN Referente a tabela Funcionários.
RSFUN.Open [Ô]SELECT * FROM FUNCIONARIOS ORDER BY NOME[Ô], CNN, adOpenStatic, adLockOptimistic [ô]abrirá a tabela funcionários ordenado por nomes
lstRegistro.ListItems.Clear
[ô]simula a função de replace com condição
If RSFUN.RecordCount = 0 Then
Set lst = lstRegistro.ListItems.Add(, , [Ô]<VAZIO>[Ô], , 1) [ô]Lembrando que o nº 1 é o Ãcone de um ImgList que tenho mas se quiser é só apagá-lo e apagar tb as vÃrgulas
Else
[ô]Preenche a lista
Do While Not RSFUN.EOF
Set lst = lstRegistro.ListItems.Add(, , RSFUN!CODIGO, , 1)
With lst
.SubItems(1) = RSFUN!Nome & [Ô][Ô]
.SubItems(2) = RSFUN!Sexo & [Ô][Ô]
.SubItems(3) = RSFUN!Nascimento & [Ô][Ô]
.SubItems(4) = RSFUN!RG & [Ô][Ô]
.SubItems(5) = RSFUN!CPF & [Ô][Ô]
.SubItems(6) = RSFUN!ENDERECO & [Ô][Ô]
.SubItems(7) = RSFUN!NUMERO & [Ô][Ô]
.SubItems(8) = RSFUN!BAIRRO & [Ô][Ô]
.SubItems(9) = RSFUN!Cidade & [Ô][Ô]
.SubItems(10) = RSFUN!CEP & [Ô][Ô]
.SubItems(11) = RSFUN!UF & [Ô][Ô]
.SubItems(12) = RSFUN!TEL & [Ô][Ô]
.SubItems(13) = RSFUN!CEL & [Ô][Ô]
.SubItems(14) = RSFUN!Funcao & [Ô][Ô]
.SubItems(15) = Format(RSFUN!SALARIO, [Ô]currency[Ô]) & [Ô][Ô]
.SubItems(16) = IIf(RSFUN!Comissionado, [Ô]Sim[Ô], [Ô]Não[Ô]) & [Ô][Ô]
.SubItems(17) = RSFUN!CARTRAB & [Ô][Ô]
.SubItems(18) = RSFUN!ADMISSAO & [Ô][Ô]
.SubItems(19) = RSFUN!DEMISSAO & [Ô][Ô]
.SubItems(20) = RSFUN!MOTIVO & [Ô][Ô]
.SubItems(21) = RSFUN!OBSERVACAO & [Ô][Ô]
.SubItems(22) = RSFUN!INCLUSAO & [Ô][Ô]
.SubItems(23) = RSFUN!ALTERACAO & [Ô][Ô]
.SubItems(24) = RSFUN!USUARIO & [Ô][Ô]
End With
RSFUN.MoveNext
Loop
End If
[ô]Lembrando que cada .SubItems(xx) é uma coluna que você criou nas propriedades da LstView Ok.?
End Sub
Private Sub Form_Load()
[ô]Abrindo um Banco de dados
Set CNN = New ADODB.Connection
BANCODEDADOS = [Ô]127.0.0.1:c:\bancodedados.gdb[Ô]
IDENTIDADE = [Ô]Senha_do_banco_de_dados[Ô]
CONEXAO = [Ô]Provider=SIBPROvider.2; SIB:Character Set =WIN1252; Data Source=[Ô] & BANCODEDADOS & [Ô];User ID=[Ô] & [Ô]SYSDBA[Ô] & [Ô];Password=[Ô] & IDENTIDADE & [Ô][Ô]
CNN.Open CONEXAO
CNN.CursorLocation = adUseClient
[Ô]Chama a função para carregar a listeView
Call PreencheLista
End Sub
é basicamente isso ..
Funciona certinho.. se vc colocar os componentes de acordo com o nome.. só não esquece tb de colocar um ImgList com um icone qlqr q vc goste, para aparecer no listview bonitinho.. somente um já basta...
Ah!!! e eu uso banco de dados firebird, mas se você utiliza outro, é so mudar a forma de abrir seu banco de dados.. ok?
Nas propriedades dele (botão direito em cima do listview) vc irá marcar os itens View (3 - lvwReport), Arrange ( 0 - lvwNone), LabelEdit (1 - Manual).
Vai na aba, propriedades ainda, Column Headers, e irá criar as colunas do seu banco de dados que vc quer que apareça...(tipo: Código, Nome, Endereço... e por aà vai)
Ae vc vai fazer os códigos para carregar o seu gente fina listview.. Digamos que o nome dele é lstRegistro.
Ae eu gosto mto de criar uma função para ficar mais fácil de usá-la em vários componentes ao mesmo tempo .. mas vamos lá...
Option Explicit
Public CNN As New ADODB.Connection
Public RSFUN As New ADODB.Recordset [ô]Funcionários
Dim lst As Variant
Dim BancoDeDados, Identidade, Consexao As String
Public Sub PreencheLista()
Set RSFUN = New ADODB.Recordset [ô]RSFUN Referente a tabela Funcionários.
RSFUN.Open [Ô]SELECT * FROM FUNCIONARIOS ORDER BY NOME[Ô], CNN, adOpenStatic, adLockOptimistic [ô]abrirá a tabela funcionários ordenado por nomes
lstRegistro.ListItems.Clear
[ô]simula a função de replace com condição
If RSFUN.RecordCount = 0 Then
Set lst = lstRegistro.ListItems.Add(, , [Ô]<VAZIO>[Ô], , 1) [ô]Lembrando que o nº 1 é o Ãcone de um ImgList que tenho mas se quiser é só apagá-lo e apagar tb as vÃrgulas
Else
[ô]Preenche a lista
Do While Not RSFUN.EOF
Set lst = lstRegistro.ListItems.Add(, , RSFUN!CODIGO, , 1)
With lst
.SubItems(1) = RSFUN!Nome & [Ô][Ô]
.SubItems(2) = RSFUN!Sexo & [Ô][Ô]
.SubItems(3) = RSFUN!Nascimento & [Ô][Ô]
.SubItems(4) = RSFUN!RG & [Ô][Ô]
.SubItems(5) = RSFUN!CPF & [Ô][Ô]
.SubItems(6) = RSFUN!ENDERECO & [Ô][Ô]
.SubItems(7) = RSFUN!NUMERO & [Ô][Ô]
.SubItems(8) = RSFUN!BAIRRO & [Ô][Ô]
.SubItems(9) = RSFUN!Cidade & [Ô][Ô]
.SubItems(10) = RSFUN!CEP & [Ô][Ô]
.SubItems(11) = RSFUN!UF & [Ô][Ô]
.SubItems(12) = RSFUN!TEL & [Ô][Ô]
.SubItems(13) = RSFUN!CEL & [Ô][Ô]
.SubItems(14) = RSFUN!Funcao & [Ô][Ô]
.SubItems(15) = Format(RSFUN!SALARIO, [Ô]currency[Ô]) & [Ô][Ô]
.SubItems(16) = IIf(RSFUN!Comissionado, [Ô]Sim[Ô], [Ô]Não[Ô]) & [Ô][Ô]
.SubItems(17) = RSFUN!CARTRAB & [Ô][Ô]
.SubItems(18) = RSFUN!ADMISSAO & [Ô][Ô]
.SubItems(19) = RSFUN!DEMISSAO & [Ô][Ô]
.SubItems(20) = RSFUN!MOTIVO & [Ô][Ô]
.SubItems(21) = RSFUN!OBSERVACAO & [Ô][Ô]
.SubItems(22) = RSFUN!INCLUSAO & [Ô][Ô]
.SubItems(23) = RSFUN!ALTERACAO & [Ô][Ô]
.SubItems(24) = RSFUN!USUARIO & [Ô][Ô]
End With
RSFUN.MoveNext
Loop
End If
[ô]Lembrando que cada .SubItems(xx) é uma coluna que você criou nas propriedades da LstView Ok.?
End Sub
Private Sub Form_Load()
[ô]Abrindo um Banco de dados
Set CNN = New ADODB.Connection
BANCODEDADOS = [Ô]127.0.0.1:c:\bancodedados.gdb[Ô]
IDENTIDADE = [Ô]Senha_do_banco_de_dados[Ô]
CONEXAO = [Ô]Provider=SIBPROvider.2; SIB:Character Set =WIN1252; Data Source=[Ô] & BANCODEDADOS & [Ô];User ID=[Ô] & [Ô]SYSDBA[Ô] & [Ô];Password=[Ô] & IDENTIDADE & [Ô][Ô]
CNN.Open CONEXAO
CNN.CursorLocation = adUseClient
[Ô]Chama a função para carregar a listeView
Call PreencheLista
End Sub
é basicamente isso ..
Funciona certinho.. se vc colocar os componentes de acordo com o nome.. só não esquece tb de colocar um ImgList com um icone qlqr q vc goste, para aparecer no listview bonitinho.. somente um já basta...
Ah!!! e eu uso banco de dados firebird, mas se você utiliza outro, é so mudar a forma de abrir seu banco de dados.. ok?
[txt-color=#0000f0]Obrigado ADRIANOM[/txt-color]
Muito bem explicado...era disso que eu precisava.
Obrigado mesmo
Muito bem explicado...era disso que eu precisava.
Obrigado mesmo
caso ja se resolvou, nao se esqueça de fechar o Topico...
Abraços
Abraços
Se certo, encerre e me pontue por gentileza...
Tópico encerrado , respostas não são mais permitidas