LISTVIEW, PROGRESSBAR

USUARIO.EXCLUIDOS 29/05/2007 18:07:17
#218759
Olá, tenho uma rotina que me preenche uma listview do tipo :

'limpa a o controle ListView

listview.ListItems.Clear

'se não há registros então sai da rotina

If rs.RecordCount = 0 Then Exit Sub

'enquanto houver registros inclui os registros no ListView

While Not rs.EOF

Set lst = listview.ListItems.Add(, , rs(0))

For i = 1 To varnitems

lst.SubItems(i) = rs(i)

Next i

rs.MoveNext

Wend

Eu não poderia implementar aqui algo para carregar uma progressbar á medida que vai lançar um registo um a um no listview ??
USUARIO.EXCLUIDOS 29/05/2007 19:01:00
#218765
Claro que sim, veja como ficaria:

'limpa a o controle ListView

listview.ListItems.Clear

'se não há registros então sai da rotina

If rs.RecordCount = 0 Then Exit Sub

'enquanto houver registros inclui os registros no ListView

While Not rs.EOF

Set lst = listview.ListItems.Add(, , rs(0))

ProgressBar1.min=0
ProgressBar1.max= varitems
ProgressBar1.value = 0

For i = 1 To varnitems

lst.SubItems(i) = rs(i)

ProgressBar1.Value = i

dovents

Next i

rs.MoveNext

Wend


Espero ter ajudado.
USUARIO.EXCLUIDOS 29/05/2007 19:33:13
#218772
Assim acontece que em ProgressBar1.value = 0 dá erro "Divion by zero"


USUARIO.EXCLUIDOS 29/05/2007 19:35:50
#218775
Nao peço desculpa dá é overflow :)
USUARIO.EXCLUIDOS 29/05/2007 21:11:22
#218780
Resposta escolhida
Olá,

Acho q vc deve pegar a qtde de registros que tem no recordset (movendo pro último e armazenando na propriedade max do progressbar) e a cada movenext do recordset vc soma 1 no value do progressbar.

Espero poder tê-lo ajudado.
USUARIO.EXCLUIDOS 30/05/2007 13:19:13
#218895
MAOS, é o seguinte: no comando

ProgressBar1.max= varitems

Vc teve substituir pelo total de registros do listview.

ou seja,

ProgressBar1.max= rs.RecordCount


USUARIO.EXCLUIDOS 30/05/2007 18:06:52
#218975
Tá tudo em ordem agora era isso mesmo, mais um vez :)
Tópico encerrado , respostas não são mais permitidas