ENTENDENDO O CODIGO

USUARIO.EXCLUIDOS 21/07/2005 10:36:36
#95296
Olá,

Alguem me explicaria o q realmente faz este código:


Do Until TABELA.EOF

NumUltimaNF = TABELA![NF]
TABELA.MoveNext ' Move para o proximo registro
If TABELA.EOF Then ' Se for fim de registro volta para o anterior
TABELA.MovePrevious
NumVezes = 1
GoTo pula
End If
If NumUltimaNF = TABELA![NF] Then 'Compara a 1º linha com a proxima (2º linha NF)
TABELA.MoveNext 'Se for igual então pula para o
If TABELA.EOF Then ' proximo registro senão volta um registro
TABELA.MovePrevious ' Se for fim de arquivo volta dois registro
TABELA.MovePrevious
Else
If NumUltimaNF = TABELA![NF] Then ' Caso exista 3 linha com o mesmo registro
If TABELA.EOF Then
TABELA.MovePrevious
TABELA.MovePrevious
Else
TABELA.MoveNext
If NumUltimaNF = TABELA![NF] Then 'Compara o 4º registro se for igual ao três anteriores então
TABELA.MovePrevious
TABELA.MovePrevious
TABELA.MovePrevious
Else
TABELA.MovePrevious ' Volta três registros
TABELA.MovePrevious
TABELA.MovePrevious
End If
End If
NumVezes = 3
Else
TABELA.MovePrevious
TABELA.MovePrevious
NumVezes = 2
End If
End If
Else
NumVezes = 1
TABELA.MovePrevious
PosLetra = ""
NumUltimaNF = TABELA![NF]
End If
pula:
For i = 1 To NumVezes
If NumVezes = 1 Then
PosLetra = ""
Else
If i = 1 Then
PosLetra = "A"
Else
If i = 2 Then
PosLetra = "B"
Else
If i = 3 Then
PosLetra = "C"
End If
End If
End If
End If
saiLinha:


Grato
Pierre
pierregodoi@msn.com
PAGANINI 21/07/2005 10:44:51
#95300
Não faz nada,.

Isto é uma poluição visual, Este código deveria ser censurado.

USUARIO.EXCLUIDOS 21/07/2005 10:51:34
#95301
Como assim naum faz nada?
USUARIO.EXCLUIDOS 21/07/2005 11:24:32
#95308
Por favor alguém me ajude a entender este código

grato
Pierre
LCSD 21/07/2005 11:52:00
#95316
Resposta escolhida
Pelo o que eu entendí, ele está verificando se o número de NF é igual para quantas vezes.

Se o número da NF for repedito somente 1 vez, ele iguala a variável PosLetra = A, se for repetido por 2 vezes, PosLetra = B, se for repetido por 3 vezes, PosLetra = C.


Mas este código está muito confuso, dá e PODE ser melhorado pra fazer esta rotina.

O que este código deveria fazer no seu sistema?? Ou melhor, o que VC gostaria que ele fizesse??
USUARIO.EXCLUIDOS 21/07/2005 13:29:55
#95347
Gostaria que verificasse até 5 vezes, se a nota é igual, tem como vc me ajudar a melhorar este código, Com isto vou gerar um arquivo txt de notas fiscais


grato
Pierre
LCSD 21/07/2005 14:14:42
#95373
Eu faria da seguinte forma, via cláusula SQL

"Select count(NF) as NF_NUM from tabela group by NF"

Com essa clásula, te retornará por NF, quantos registros têm com o mesmo número de NF.

Aí, VC pega e faz uma condição de quantos NF te retornará, se for 1, um valor, se for 2 outro valor... e assim por diante.

Acredito que seu código ficará bem mais fácil para entender, e mais rápido de ser executado.
USUARIO.EXCLUIDOS 21/07/2005 14:34:47
#95384
Tem como vc alterar meu código para verificar 5 vezes e acrescentar para 4 = D e 5=E?

Sou iniciante, tem como me dar um auxílio?

Vc tem msn?
grato
Pierre
LREZANI 21/07/2005 15:23:02
#95393
como será seu arquivo txt?
LCSD 21/07/2005 15:32:56
#95396
Faça mais ou menos assim, e teste pra ver se funcionará certinho.


Dim RST as new recordset

rst.open "Select count(NF) as NF from Tabela group by NF", conecção
Do While not rst.eof
If RST!NF = 1 then
variavel = "A"
elseif RST!NF = 2 then
Variavel = "B"
Elseif rst!nf = 3 then
Variavel = "C"
Elseif rst!nf = 4 then
Variavel = "D"
Elseif rst!NF >=5 then
Variavel = "E"
endif
........ Seu código pra gravar no arquivo TXT, que já não sei qual que é
rst.movenext
loop



Pronto, acho que isso já o ajuda. Teste e veja se está OK.
USUARIO.EXCLUIDOS 22/07/2005 09:25:08
#95513
Luiz Cezar,

Preciso tamber numerar estas nfs tipo:

Se a nota 555 estiver 02 vezes entaum vou numerar 1 e 2, nota 556 tem 4 vezes numerar 1,2,3,4 e assim sucessivamente.

Tem como vc me ajudar

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