BANCO DE DADOS

FILIPA 10/10/2012 07:05:07
#411682
olá pessoal


ajudem-me nisto!:

quero que enquanto o id de uma tabela seja igual me imprima sempre e depois salte quando terminar.
exemplo
fct = tabela 1. tem o campo fctid
fctln = tabela 2. tem o campo fctid.

eu quero que enquanto o fctln tiver o campo fctid igual me imprima as linhas todas-----------

preciso de ajuda urgente
LUIZCOMINO 10/10/2012 09:04:40
#411688
fct = tabela 1. tem o campo fctid
fctln = tabela 2. tem o campo fctid.

Do While fct <> fctln

imprime

fct = tabela 1. tem o campo fctid
fctln = tabela 2. tem o campo fctid.

Loop
VELDRAME 10/10/2012 09:39:59
#411691
Só Corrigindo a idei a do Luiz
Citação:

:
fct = tabela 1. tem o campo fctid
fctln = tabela 2. tem o campo fctid.

Do While fct <> fctln

imprime

fct = tabela 1. tem o campo fctid
fctln = tabela 2. tem o campo fctid.

Loop



Enquanto for IGUAL.
[txt-color=#0000f0]Do While[/txt-color] rs.fct [txt-color=#e80000]=[/txt-color] rs.fctln
[txt-color=#007100] [ô]Imprimir[/txt-color]
rs.movenext
[txt-color=#0000f0]loop[/txt-color]

Aconselho a montar uma view com todos os campos que você precisa, dessa forma fica tudo em uma única chamada do Recordset
FILIPA 10/10/2012 10:23:51
#411697
obrigada caras...
mas nao resultou
FILIPA 10/10/2012 11:08:16
#411703
caros amigos

vejam o .txt (um é o codigo e o outro o ficheiro que sai quando mando correr)


é o meu codigo o meu probema agora é colocar so o r2 a imprimir seguidamente sem ter que imprimir r1 e r2


vejam ai
FILIPA 10/10/2012 11:10:59
#411704
o ficheiro .txt quando mando correr o programa e este
FILIPA 10/10/2012 11:26:30
#411705
alguem me ajude
FILIPA 11/10/2012 08:15:25
#411790
VELDRAME

ficou correto assim :

Citação:

DO WHILE BD .GETFIELDVALUE (RECDOCS, [Ô]FCT.FCTID[Ô]) = BD .GETFIELDVALUE (RECDOCS, [Ô]FCLN.FCTID[Ô])



COLOQUEI O PRINT .....

Citação:

RECDOCS.MOVENEXT
LOOP



AGORA O PROBLEMA é QUE FICOU JA TUDO SEGUIDO E NAO IMPRIME O RESTO
VELDRAME 11/10/2012 11:34:53
#411819
Você reparou que esta passando o MOVENEXT 2x? (Destaque em [txt-color=#e80000]vermelho[/txt-color])
Deixe para passar somente no final, antes do [txt-color=#0000f0] LOOP[/txt-color]
O ITEM[txt-color=#e80000] ContNtCred = ContNtCred + 1[/txt-color], deixe no fim também antes do [txt-color=#0000f0]LOOP[/txt-color], afinal ele é um contador e só pode contar se processar, correto?
O ITEM [txt-color=#e80000] ContNtCred = 1[/txt-color] deve ficar realmente dentro do[txt-color=#0000f0] DO UNTIL[/txt-color]? porque assim ele já começa com o valor 1 e logo em seguida vira valor 2, é isso mesmo?

Estou tentando resolver gradativamente, entendendo seu código.

Quanto ao que coloquei foi só um exemplo de função, não era para ser usado necessariamente assim, é só para você ver e adaptar a sua necessidade:
Citação:

Do While rs.fct = rs.fctln
[ô]Imprimir
rs.movenext
loop



Analisando o código que você passou, ele esta correto:
1) Entre no [txt-color=#0000f0]LOOP[/txt-color]
2) Move para o próximo registro (mas deve ser feito só no final antes do [txt-color=#0000f0]loop[/txt-color]
3) Quanto a saida do arquivo, como deveria ser o correto?

[txt-color=#0000f0] Do Until[/txt-color] recDocs.EOF
[txt-color=#007100][ô] recDocs.MoveNext[/txt-color]

ContNtCred = 1
ContNtCred = ContNtCred + 1

[txt-color=#e80000] recDocs.MoveNext[/txt-color]
[txt-color=#007100] [ô] R1[/txt-color]

Print #f, [Ô]R1[Ô] & Format(BD.GetFieldValue(recDocs, [Ô]NtCredData[Ô]), [Ô]yyyy[Ô]) & Format(BD.GetFieldValue(recDocs, [Ô]NtCredData[Ô]), [Ô]mm[Ô]) & Format(BD.GetFieldValue(recDocs, [Ô]NtCredData[Ô]), [Ô]dd[Ô]) _
& [Ô]0050[Ô] & [Ô]C-[Ô] & Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredNr[Ô])), [Ô]000000[Ô]) & [Ô]00[Ô] _
& Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredEntCd[Ô])), [Ô]000000[Ô]) & [Ô]0000[Ô] & [Ô]0000[Ô] & [Ô]0000[Ô] & [Ô]0010[Ô] _
& [Ô]EUR[Ô] & [Ô]0000[Ô] & [Ô]G-000000[Ô] & [Ô]00000000[Ô] & Space(106) & [Ô]N[Ô]

[txt-color=#007100] [ô] R2[/txt-color]

Print #f, [Ô]R2[Ô] & Format(BD.GetFieldValue(recDocs, [Ô]NtCredData[Ô]), [Ô]yyyy[Ô]) & Format(BD.GetFieldValue(recDocs, [Ô]NtCredData[Ô]), [Ô]mm[Ô]) & Format(BD.GetFieldValue(recDocs, [Ô]NtCredData[Ô]), [Ô]dd[Ô]) _
& [Ô]0050[Ô] & [Ô]C-[Ô] & Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredNr[Ô])), [Ô]000000[Ô]) _
& Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredLnCD[Ô])), [Ô]000000000000000[Ô]), [Ô],[Ô], [Ô][Ô]) & [Ô]00000000[Ô] & [Ô]00000000[Ô] & [Ô]00000000[Ô] & [Ô]UN[Ô] & [Ô]0001[Ô] _
& Format(BD.GetFieldValue(recDocs, [Ô]NtCredLnTxIva[Ô]), [Ô]00[Ô]) & [Ô]00[Ô] & Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredLnQtd[Ô])), [Ô]00000000.000[Ô]), [Ô],[Ô], [Ô][Ô]) _
& [Ô] [Ô] & Format(BD.GetFieldValue(recDocs, [Ô]NtCredLnTxDesc[Ô]), [Ô]00[Ô]) & [Ô]00[Ô] & [Ô]0000[Ô] & [Ô]0000[Ô] & [Ô]U[Ô] & Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredLnVlrDef[Ô])), [Ô]00000000.000[Ô]), [Ô],[Ô], [Ô][Ô]) & [Ô] [Ô] _
& Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredLnDesc[Ô])), [Ô]00000000.00[Ô]), [Ô],[Ô], [Ô][Ô]) & [Ô] [Ô] & [Ô]0000000000[Ô] & [Ô] [Ô] _
& Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredLnVlr[Ô])), [Ô]00000000.00[Ô]), [Ô],[Ô], [Ô][Ô]) & [Ô] [Ô] & Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredLnValorCIva[Ô])), [Ô]00000000.00[Ô]), [Ô],[Ô], [Ô][Ô]) & [Ô] [Ô] _
& Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredLnIva[Ô])), [Ô]00000000.00[Ô]), [Ô],[Ô], [Ô][Ô]) & [Ô] [Ô] & Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredLnValorCIva[Ô])), [Ô]00000000.00[Ô]), [Ô],[Ô], [Ô][Ô]) & [Ô] [Ô] & [Ô]N[Ô] & [Ô]N[Ô]

[txt-color=#007100] [ô]r3[/txt-color]

Print #f, [Ô]R3[Ô] & Format(BD.GetFieldValue(recDocs, [Ô]NtCredData[Ô]), [Ô]yyyy[Ô]) & Format(BD.GetFieldValue(recDocs, [Ô]NtCredData[Ô]), [Ô]mm[Ô]) & Format(BD.GetFieldValue(recDocs, [Ô]NtCredData[Ô]), [Ô]dd[Ô]) _
& [Ô]0050[Ô] & [Ô]C-[Ô] & Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredNr[Ô])), [Ô]000000[Ô]) _
& Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredTotalDesc[Ô])), [Ô]00000000.00[Ô]), [Ô],[Ô], [Ô][Ô]) & [Ô] [Ô] & [Ô]0000000000[Ô] & [Ô] [Ô] _
& Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredTotalSIva[Ô])), [Ô]00000000.00[Ô]), [Ô],[Ô], [Ô][Ô]) & [Ô] [Ô] & Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredTotal[Ô])), [Ô]00000000.00[Ô]), [Ô],[Ô], [Ô][Ô]) & [Ô] [Ô] _
& Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredTotalIva[Ô])), [Ô]00000000.00[Ô]), [Ô],[Ô], [Ô][Ô]) & [Ô] [Ô] & [Ô]0000000000[Ô] & [Ô] [Ô] & Replace(Format(CStr(BD.GetFieldValue(recDocs, [Ô]NtCredTotal[Ô])), [Ô]00000000.00[Ô]), [Ô],[Ô], [Ô][Ô]) & [Ô] [Ô] & Space(76) & [Ô]N[Ô]


[txt-color=#e80000] recDocs.MoveNext[/txt-color]
[txt-color=#0000f0]Loop[/txt-color]
FILIPA 11/10/2012 12:18:27
#411825
VELDRAME
ajude-me, tenho isto:

if fctln<>0 then
contalinha=0
while fctln.fctid=fctid
print

wend
end if

ajude-me a colocar esse while num for
VELDRAME 11/10/2012 12:23:15
#411827
if fctln<>0 then
contalinha=0
else
[txt-color=#0000f0]Do while[/txt-color] fctln.fctid=fctid
print
[txt-color=#007100] [ô]Passa para o próximo registro[/txt-color]
fctln.fctid.MoveNext
[txt-color=#0000f0]loop[/txt-color]
[txt-color=#0000f0]end if[/txt-color]


Que linguagem você esta Usando, VB6 ou VB.NET?[/txt-color][/txt-color]
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas