LOOP EM LISTVIEW

JAIR2002 28/08/2010 16:44:38
#351572
Pessoal,

Preciso pegar os dois primeiros nomes de uma ListView e jogar em uma caixa de texto tipo o exemplo abaixo.

exemplo de com deve ficar: Fulano de tal;Cicrano de tal e outros.


assim se a ListView tiver mais registro alem de dois, pegar os dois primeiros nomes da lista e acrescentar o texto [ô]outros[ô] no final

acredito que deve ser um loop facil, mas não conseguir fazer.

se alguem puder ajudar.

grato





Alguém ai sabe como fazer
JAIR2002 28/08/2010 20:09:00
#351586
Pessoal desculpe a gambiarra mais este codigo que fiz quase fez o que eu queria

[ô]pega os registro relacionados no controle e joga em um textbox
Public Function PegaLista(Vcontrol As ListView) As String

Dim X As ListItem
Dim varItem As Variant, strList As String
Dim number As Integer

With Vcontrol
number = .ListItems.Count [ô] pego a quantidade de registro na lista
If number <= 2 Then [ô] se lista menor ou igual a dois registros
For Each X In .ListItems [ô] percorro a lista
strList = strList & X.SubItems(1) & [Ô];[Ô] [ô]e adiciono todos os dados na textbox
Next X
End If
If number > 2 Then [ô] se lista tem mais que dois registros

For Each X In .ListItems [ô] percorro a lista
strList = strList & X.SubItems(1) & [Ô] e outros[Ô] [ô] adiciono apenas um dado na lista e a string outros
Exit For
Next X
End If
End With
If Right(strList, 1) = [Ô];[Ô] Then
strList = Left(strList, Len(strList) - 1)
End If
PegaLista = CStr(strList)

End Function




- quando tem apenas dois registro ele acresta os dois na textbox
- quando tem mais de dois ele acresta apenas o primeiro e a string outros no final

Peço para os mais experiente que deem uma olhada e se puder melhorar para um código mais enxuto e funcionando 100% ficarei muito grato.

JAIR2002 28/08/2010 21:03:51
#351587
Pessoal,

Conseguir fazer o condigo funcionar, não estar cem por cento como eu queria, mas satisfaz.

grato
Tópico encerrado , respostas não são mais permitidas