Vou colocar o meu código abaixo e tentar explicar melhor o que preciso:
' esse é um comando que vem de um click do botão filtrar
Private Sub CommandButton1_Click()
Dim cx As New ClasseConexao
Dim banco As ADODB.Recordset
Dim sql As String
ProcurarPor = Me.ComboBox1.Text
With Me.ListView1
.ListItems.Clear
sql = "SELECT codigo, matricula, nome, departamento, turno, data, horario, instrutor, duracao FROM Cadastro"
sql = sql & " WHERE " & ProcurarPor & " LIKE '" & Me.TextBox1.Value & "%'"
Set banco = New ADODB.Recordset
cx.Conectar
banco.Open sql, cx.Conn, adOpenKeyset, adLockOptimistic
Dim i As Integer
For i = 0 To banco.RecordCount - 1
If Not IsNull(banco(0)) Then
.ListItems.Add 1, , banco(0)
.ListItems(1).ListSubItems.Add 1, , banco(1)
.ListItems(1).ListSubItems.Add 2, , banco(2)
.ListItems(1).ListSubItems.Add 3, , banco(3)
.ListItems(1).ListSubItems.Add 4, , banco(4)
.ListItems(1).ListSubItems.Add 5, , banco(5)
.ListItems(1).ListSubItems.Add 6, , banco(6)
.ListItems(1).ListSubItems.Add 7, , banco(7)
.ListItems(1).ListSubItems.Add 8, , banco(8)
End If
banco.MoveNext
Next i
Set banco = Nothing
cx.Desconectar
End With
'Com o código abaixo eu somo o total de minutos que os registro com o campo Duracao contem
Dim e As Long
Dim valor As Double
For e = 1 To Me.ListView1.ListItems.Count
valor = valor + CDbl(Me.ListView1.ListItems(e).ListSubItems(8))
Next e
'Atribuo em uma label a soma em minutos dos registro encontrados
Me.Label3.Caption = "Tempo de Treinamento " & valor & " minutos"
'Atribuo em outra label o total de registros encontrados
Me.Label8.Caption = "Total de Resultados " & Me.ListView1.ListItems.Count
End Sub
Gostaria encontrar o total de registros cujo o campo nome não se repetisse.
É possível fazer algo parecido como eu já fiz acima?
Agradeço pelo suporte
Postado : 19/10/2012 11:37 am