CRIAR CONTADOR DE REGISTROS NO LISTVIEW
Preciso saber como criar um campo que retorne os dados de um listview na pesquisa, exemplo: se ele retorna 70 registros na pesquisa, gostaria de criar um campo [ô]lbl[ô] que apresentasse mostrasse a quantidade retornada.
Abaixo segue meu código da rotina de pesquisar:
Private Sub RotinaPesquisar()
Dim lsql As String
Dim lTBPerfis As Recordset
Dim lItem As ListItem
lsql = [Ô]SELECT * FROM Perfis [Ô]
[ô]Para o cursor ir depois de trazer os resultados da pesquisa ao campo
lvwLista.SetFocus
[ô]If para fazer a consulta pelos parâmetros informados na consulta
If Trim(cboDescricaoPerfil.Text) <> [Ô][Ô] Then
lsql = lsql & [Ô] WHERE descricao_perfil like [ô][Ô] & Trim(cboDescricaoPerfil.Text & [Ô]*[ô][Ô])
lsql = lsql & [Ô] ORDER BY id_perfil ASC[Ô]
End If
Set lTBPerfis = gBDSalao.OpenRecordset(lsql, dbOpenSnapshot)
If lTBPerfis.EOF Then
[ô]MsgBox [Ô]Nenhum perfil foi encontrado com os parâmetros informados![Ô], vbCritical
frmMensagemDeErroAoPesquisar.Show vbModal
[ô]Limpar o campo do ListView
lvwLista.ListItems.Clear
Exit Sub
End If
lvwLista.ListItems.Clear
Do While lTBPerfis.EOF = False
Set lItem = lvwLista.ListItems.Add
lItem.Text = lTBPerfis.Fields([Ô]id_perfil[Ô]).Value
lItem.SubItems(1) = lTBPerfis.Fields([Ô]data_sistema[Ô]).Value
lItem.SubItems(2) = lTBPerfis.Fields([Ô]descricao_perfil[Ô]).Value
lItem.SubItems(3) = lTBPerfis.Fields([Ô]atualizado_por[Ô]).Value
lItem.SubItems(4) = lTBPerfis.Fields([Ô]ultima_atualizacao[Ô]).Value
cboDescricaoPerfil.ListIndex = -1
lTBPerfis.MoveNext
Loop
End Sub
Abaixo segue meu código da rotina de pesquisar:
Private Sub RotinaPesquisar()
Dim lsql As String
Dim lTBPerfis As Recordset
Dim lItem As ListItem
lsql = [Ô]SELECT * FROM Perfis [Ô]
[ô]Para o cursor ir depois de trazer os resultados da pesquisa ao campo
lvwLista.SetFocus
[ô]If para fazer a consulta pelos parâmetros informados na consulta
If Trim(cboDescricaoPerfil.Text) <> [Ô][Ô] Then
lsql = lsql & [Ô] WHERE descricao_perfil like [ô][Ô] & Trim(cboDescricaoPerfil.Text & [Ô]*[ô][Ô])
lsql = lsql & [Ô] ORDER BY id_perfil ASC[Ô]
End If
Set lTBPerfis = gBDSalao.OpenRecordset(lsql, dbOpenSnapshot)
If lTBPerfis.EOF Then
[ô]MsgBox [Ô]Nenhum perfil foi encontrado com os parâmetros informados![Ô], vbCritical
frmMensagemDeErroAoPesquisar.Show vbModal
[ô]Limpar o campo do ListView
lvwLista.ListItems.Clear
Exit Sub
End If
lvwLista.ListItems.Clear
Do While lTBPerfis.EOF = False
Set lItem = lvwLista.ListItems.Add
lItem.Text = lTBPerfis.Fields([Ô]id_perfil[Ô]).Value
lItem.SubItems(1) = lTBPerfis.Fields([Ô]data_sistema[Ô]).Value
lItem.SubItems(2) = lTBPerfis.Fields([Ô]descricao_perfil[Ô]).Value
lItem.SubItems(3) = lTBPerfis.Fields([Ô]atualizado_por[Ô]).Value
lItem.SubItems(4) = lTBPerfis.Fields([Ô]ultima_atualizacao[Ô]).Value
cboDescricaoPerfil.ListIndex = -1
lTBPerfis.MoveNext
Loop
End Sub
MILTONSILVA94,
Pergunta!
Ao invés de usar o [Ô]listview[Ô], você não pode usar a recordset (lTBPerfis) para ver quantos registros retornaram?
[][ô]s,
Tunusat.
Pergunta!
Ao invés de usar o [Ô]listview[Ô], você não pode usar a recordset (lTBPerfis) para ver quantos registros retornaram?
[][ô]s,
Tunusat.
Quero saber o que preciso acrescentar de código para incluir essa nova rotina que quero implementar.
MILTONSILVA94,
Seria assim , por exemplo:
Veja aqui:
======================================================
Filter and RecordCount Properties Example (VB)
https://msdn.microsoft.com/en-us/library/windows/desktop/ms681465(v=vs.85).aspx
======================================================
Veja também:
======================================================
Using DAO (Data Access Objects) Code
http://www.vb6.us/tutorials/using-dao-data-access-objects-code-tutorial
======================================================
Trabalhando com Recordsets - Alterando e Retornando dados.
http://www.macoratti.net/dao_ado2.htm
======================================================
[][ô]s,
Tunusat.
Seria assim , por exemplo:
Dim intTotal As Integer
intTotal = lTBPerfis.RecordCount
Veja aqui:
======================================================
Filter and RecordCount Properties Example (VB)
https://msdn.microsoft.com/en-us/library/windows/desktop/ms681465(v=vs.85).aspx
======================================================
Veja também:
======================================================
Using DAO (Data Access Objects) Code
http://www.vb6.us/tutorials/using-dao-data-access-objects-code-tutorial
======================================================
Trabalhando com Recordsets - Alterando e Retornando dados.
http://www.macoratti.net/dao_ado2.htm
======================================================
[][ô]s,
Tunusat.
Montei a rotina abaixo:
Dim lSQLConect As String
gsContador = txtContador.Text
lsql = [Ô]SELECT COUNT(*) From agendamentos[Ô]
txtContador.Text = [Ô]N.: [Ô] & gsContador
Porém, ao invés de me fornecer os nº de registros que me retornou, ele começa a acrescentar [ô]N.:[ô] de acordo com o nº de registros que retornou.
Onde está o erro?
Dim lSQLConect As String
gsContador = txtContador.Text
lsql = [Ô]SELECT COUNT(*) From agendamentos[Ô]
txtContador.Text = [Ô]N.: [Ô] & gsContador
Porém, ao invés de me fornecer os nº de registros que me retornou, ele começa a acrescentar [ô]N.:[ô] de acordo com o nº de registros que retornou.
Onde está o erro?
para aproveitar seu codigo, tenta assim:
Private Sub RotinaPesquisar()
Dim lsql As String
Dim lTBPerfis As Recordset
lsql = [Ô]SELECT * FROM Perfis [Ô]
[ô]If para fazer a consulta pelos parâmetros informados na consulta
If Trim(cboDescricaoPerfil.Text) <> [Ô][Ô] Then
lsql = lsql & [Ô] WHERE descricao_perfil like [ô][Ô] & Trim(cboDescricaoPerfil.Text & [Ô]*[ô][Ô])
lsql = lsql & [Ô] ORDER BY id_perfil ASC[Ô]
End If
Set lTBPerfis = gBDSalao.OpenRecordset(lsql, dbOpenSnapshot)
If lTBPerfis.EOF Then
[ô]MsgBox [Ô]Nenhum perfil foi encontrado com os parâmetros informados![Ô], vbCritical
frmMensagemDeErroAoPesquisar.Show vbModal
Exit Sub
End If
LblContador.Caption = lTBPerfis.recorcount
cboDescricaoPerfil.ListIndex = -1
End Sub
Private Sub RotinaPesquisar()
Dim lsql As String
Dim lTBPerfis As Recordset
lsql = [Ô]SELECT * FROM Perfis [Ô]
[ô]If para fazer a consulta pelos parâmetros informados na consulta
If Trim(cboDescricaoPerfil.Text) <> [Ô][Ô] Then
lsql = lsql & [Ô] WHERE descricao_perfil like [ô][Ô] & Trim(cboDescricaoPerfil.Text & [Ô]*[ô][Ô])
lsql = lsql & [Ô] ORDER BY id_perfil ASC[Ô]
End If
Set lTBPerfis = gBDSalao.OpenRecordset(lsql, dbOpenSnapshot)
If lTBPerfis.EOF Then
[ô]MsgBox [Ô]Nenhum perfil foi encontrado com os parâmetros informados![Ô], vbCritical
frmMensagemDeErroAoPesquisar.Show vbModal
Exit Sub
End If
LblContador.Caption = lTBPerfis.recorcount
cboDescricaoPerfil.ListIndex = -1
End Sub
é isso mesmo DAMASCENO, coloquei essa rotina porém ele ficava retornando sempre o valor [ô]1[ô].
Daà ajustei este código para o final da rotina antes de ele fazer o Loop e daà começou a somar corretamente os registros.
Daà ajustei este código para o final da rotina antes de ele fazer o Loop e daà começou a somar corretamente os registros.
Tópico encerrado , respostas não são mais permitidas