AJUDA COM FOR

JUNIOR.STATUS 07/10/2009 10:48:53
#324677
bom dia, pessal

eu uso esse pra gerar um txt, mais com a tabela muito grande ele fica lento preciso de aguma ajuda pra fazer com que ele fique mais rapido



If Data4.Recordset.RecordCount <= 0 Then
Else
Data4.Recordset.Index = [Ô]pk_proven[Ô]
Data4.Recordset.MoveFirst
For i = 1 To Data4.Recordset.RecordCount
If Data4.Recordset!Prv_numlancto = Data3.Recordset!Mvv_codigo Then
tot30 = tot30 + 1
Print #1, Data4.Recordset!Produto
End If
If Data4.Recordset.EOF Then Exit For
Data4.Recordset.MoveNext
Next
End If

EDERMIR 07/10/2009 13:09:00
#324688
Resposta escolhida
Para a gravação em arquivo TXT não tem muita coisa para se fazer.
A rotina está bem otimizada. No máximo...

                       If (Data4.Recordset.RecordCount <= 0) = false Then
Data4.Recordset.Index = [Ô]pk_proven[Ô]
Data4.Recordset.MoveFirst
DO WHILE DATA4.RECORDSET.EOF = FALSE
If Data4.Recordset!Prv_numlancto = Data3.Recordset!Mvv_codigo Then
tot30 = tot30 + 1
Print #1, Data4.Recordset!Produto
End If
Data4.Recordset.MoveNext
LOOP
End If


F001E 07/10/2009 17:30:40
#324729
até porque o FOR e DO WHILE...funciona de acordo com o processanto da maquina.....coloca essa rotina em um Celeron e depois em um Centrino DUO ou Core 2 DUO...que vc vai ver a diferença...
Tópico encerrado , respostas não são mais permitidas