ENTENDENDO O CODIGO
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
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
Não faz nada,.
Isto é uma poluição visual, Este código deveria ser censurado.
Isto é uma poluição visual, Este código deveria ser censurado.
Como assim naum faz nada?
Por favor alguém me ajude a entender este código
grato
Pierre
grato
Pierre
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??
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??
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
grato
Pierre
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.
"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.
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
Sou iniciante, tem como me dar um auxÃlio?
Vc tem msn?
grato
Pierre
como será seu arquivo txt?
Faça mais ou menos assim, e teste pra ver se funcionará certinho.
Pronto, acho que isso já o ajuda. Teste e veja se está OK.
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.
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
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