COMPARATIVO 3 LISTVIEW
Estou tentando Montar um for que faca o comparativo de 3 listview se algumas delas estiver diferente o Subitem lancar em uma 4 listview...
Na foto acima, estou tentando fazer da seguinte forma
O AGENTE TEM
UBS JARDIM SANTA FE
CNES 680
CONTRATO 720
APONTADAS 680
Esse Cargo esta diferente preciso saber e adicionar na quarta lista esses dados...
O AGENTE TEM
UBS JARDIM SANTA FE
CNES 680
CONTRATO 720
APONTADAS 680
Esse Cargo esta diferente preciso saber e adicionar na quarta lista esses dados...
Pessoal Aonde estou errando neste for?
For i = 0 To ListViewCnes.Items.Count - 1
For i2 = 0 To ListviewHorasApontadas.Items.Count - 1
If ListviewHorasApontadas.Items(i2).SubItems(1).Text <> ListViewCnes.Items(i).SubItems(1).Text Then
MsgBox([Ô]SIM[Ô])
Else
MsgBox([Ô]NAO[Ô])
End If
Next
Next
For i = 0 To ListViewCnes.Items.Count - 1
For i2 = 0 To ListviewHorasApontadas.Items.Count - 1
If ListviewHorasApontadas.Items(i2).SubItems(1).Text <> ListViewCnes.Items(i).SubItems(1).Text Then
MsgBox([Ô]SIM[Ô])
Else
MsgBox([Ô]NAO[Ô])
End If
Next
Next
KURTGU,
Se são três tabelas você precisa varrer as três (um par de loop para cada tabela).
Exemplo:
1 - Comparar a Tabela [Ô]A[Ô] com a Tabela [Ô]B[Ô]; Se encontrar um [Ô]Não[Ô] faça um [Ô]End Next[Ô];
2 - Comparar a Tabela [Ô]A[Ô] com a Tabela [Ô]C[Ô]; Se encontrar um [Ô]Não[Ô] faça um [Ô]End Next[Ô];
3 - Comparar a Tabela [Ô]B[Ô] com a Tabela [Ô]C[Ô]; Se encontrar um [Ô]Não[Ô] faça um [Ô]End Next[Ô];
Fazer três [Ô]For[Ô] aninhados é osso dependendo do número de registros a serem comparados.
Mas você pode minimizar isso:
Tipo ... rodar somente a tabela que você sabe que SEMPRE todas as UBS estarão lá.
E depois procurar nas outras tabelas com [Ô]FindItemWithText[Ô].
=====================================================
ListView.FindItemWithText Method (String)
https://msdn.microsoft.com/en-us/library/y3h4x385(v=vs.110).aspx
=====================================================
Search In Listview
https://www.daniweb.com/programming/software-development/threads/342486/search-in-listview
=====================================================
[][ô]s,
Tunusat.
Se são três tabelas você precisa varrer as três (um par de loop para cada tabela).
Exemplo:
1 - Comparar a Tabela [Ô]A[Ô] com a Tabela [Ô]B[Ô]; Se encontrar um [Ô]Não[Ô] faça um [Ô]End Next[Ô];
2 - Comparar a Tabela [Ô]A[Ô] com a Tabela [Ô]C[Ô]; Se encontrar um [Ô]Não[Ô] faça um [Ô]End Next[Ô];
3 - Comparar a Tabela [Ô]B[Ô] com a Tabela [Ô]C[Ô]; Se encontrar um [Ô]Não[Ô] faça um [Ô]End Next[Ô];
Fazer três [Ô]For[Ô] aninhados é osso dependendo do número de registros a serem comparados.
Mas você pode minimizar isso:
Tipo ... rodar somente a tabela que você sabe que SEMPRE todas as UBS estarão lá.
E depois procurar nas outras tabelas com [Ô]FindItemWithText[Ô].
=====================================================
ListView.FindItemWithText Method (String)
https://msdn.microsoft.com/en-us/library/y3h4x385(v=vs.110).aspx
=====================================================
Search In Listview
https://www.daniweb.com/programming/software-development/threads/342486/search-in-listview
=====================================================
[][ô]s,
Tunusat.
Tunusat a quantidade de registro nao muda somente serao 15 linhas com 5 colunas da mesma forma que esta na foto...to tentando montar o for da forma que voce falou...
Para comparar 2 Tabelas estou usando, como colocaria para ele passar para o segundo parametro de comparacao.....
For i = 0 To ListView1.Items.Count - 1
For i2 = 0 To ListView2.Items.Count - 1
If ListView1.Items(i).SubItems(1).Text <> ListView2.Items(i2).SubItems(1).Text Then
End If
Next
Next
Aqui a forma que estou tentando fazer...
Achei algo mais sempre quando tento adicionar a 3 lista da erro...
Dim strList1 As List(Of String) = New List(Of String)(New String() {[Ô]Jack[Ô], [Ô]And[Ô], [Ô]Jill[Ô], [Ô]Went[Ô], [Ô]Up[Ô], [Ô]The[Ô], [Ô]Hill[Ô]})
Dim strList2 As List(Of String) = New List(Of String)(New String() {[Ô]Jack[Ô], [Ô]And[Ô], [Ô]Jill[Ô], [Ô]Went[Ô], [Ô]Up[Ô], [Ô]The[Ô], [Ô]Hill[Ô]})
Dim strList3 As List(Of String) = New List(Of String)(New String() {[Ô]Jack[Ô], [Ô]And[Ô], [Ô]Jill[Ô], [Ô]Went[Ô], [Ô]Up[Ô], [Ô]The[Ô], [Ô]Hill[Ô]})
Dim result As Boolean = strList1.SequenceEqual(strList2, strList3)
MsgBox(result)
Dim strList1 As List(Of String) = New List(Of String)(New String() {[Ô]Jack[Ô], [Ô]And[Ô], [Ô]Jill[Ô], [Ô]Went[Ô], [Ô]Up[Ô], [Ô]The[Ô], [Ô]Hill[Ô]})
Dim strList2 As List(Of String) = New List(Of String)(New String() {[Ô]Jack[Ô], [Ô]And[Ô], [Ô]Jill[Ô], [Ô]Went[Ô], [Ô]Up[Ô], [Ô]The[Ô], [Ô]Hill[Ô]})
Dim strList3 As List(Of String) = New List(Of String)(New String() {[Ô]Jack[Ô], [Ô]And[Ô], [Ô]Jill[Ô], [Ô]Went[Ô], [Ô]Up[Ô], [Ô]The[Ô], [Ô]Hill[Ô]})
Dim result As Boolean = strList1.SequenceEqual(strList2, strList3)
MsgBox(result)
KURTGU,
Não são 3 listviews? O código abaixo deve funcionar, mas vai ficar muito pesado! Sem falar que está incompleto, pois a tabela 1 precisa ser comparada com a 3 também...
[][ô]s,
Tunusat.
Não são 3 listviews? O código abaixo deve funcionar, mas vai ficar muito pesado! Sem falar que está incompleto, pois a tabela 1 precisa ser comparada com a 3 também...
For i = 0 To ListView1.Items.Count - 1
For i2 = 0 To ListView2.Items.Count - 1
If ListView1.Items(i).SubItems(1).Text <> ListView2.Items(i2).SubItems(1).Text Then
[ô]APONTE E SAIA DO PROCESSAMENTO...
Else
[ô]AGORA COMPARE COM A TABELA 3
For i3 = 0 To ListView3.Items.Count - 1
Next
End If
Next
Next
[][ô]s,
Tunusat.
TUNUSAT
NÃO ENTRA NA MINHA CABECA O POR QUE DESTE RESULTADO DA FOTO...
NÃO ENTRA NA MINHA CABECA O POR QUE DESTE RESULTADO DA FOTO...
To quase la so nao sei o por que da repeticao dos nomes abaixo...
Tópico encerrado , respostas não são mais permitidas