BARRA DE PROGRESSO

AMELORP 12/11/2009 17:35:19
#327550
Olá boa tarde a todos...criei uma instrução sql de UPDATE:

sql = [Ô]UPDATE aluno_disciplina SET aluno_disciplina.nota[Ô] & BimestreAtual & [Ô] = ((pp_nota[Ô] & BimestreAtual & [Ô] + aq_nota[Ô] & BimestreAtual & [Ô] + pb_nota[Ô] & BimestreAtual & [Ô])/3)+(aux_nota[Ô] & BimestreAtual & [Ô]) [Ô] & _
[Ô] WHERE (((aluno_disciplina.cod_disc)<>[ô]PROJ[ô] And (aluno_disciplina.cod_disc)<>[ô]EDFIS[ô]) AND ((aluno_disciplina.ano_alu)>=[ô]2009[ô]) AND ((aluno_disciplina.cod_nivel)= 2))[Ô]
cn.Execute sql


queria colocar uma barra de progresso a medida que cada registro fosse atualizado...alguem poderia me ajudar?
WCOSTA 12/11/2009 17:41:31
#327551
Seta o número máximo e trabalha com um loop.
MARCOSLING 12/11/2009 17:42:53
#327552
Creio que isso não seja possível, pois vc está executando uma DML em massa.
A não ser que vc faça um cursor, mas aí você perde em performance.
AMELORP 12/11/2009 17:46:12
#327554
Citação:

WCOSTA escreveu:
Seta o número máximo e trabalha com um loop.

Citação:

WCOSTA escreveu:
Seta o número máximo e trabalha com um loop.



COMO SERIA ISSO NA PRÁTICA? O TOTAL DE REGISTRO EU PEGO DE ONDE?

prgBarra.Value = 0
prgBarra.Min = 0
total = ?????
prgBarra.Max = total


aux = 0

For i = 0 To total

aux = aux + 1
prgBarra.Value = aux

Next
WCOSTA 13/11/2009 00:27:25
#327592
Citação:

MARCOSLING escreveu:
Creio que isso não seja possível, pois vc está executando uma DML em massa.
A não ser que vc faça um cursor, mas aí você perde em performance.


Concordo com o MARCOSLING, você está fazendo alteração em massa através de um comando único e não através de um loop. temos que pensar em uma alternativa diferente.
Tópico encerrado , respostas não são mais permitidas