Tenho a seguinte dúvida.
Tenho 3 tabelas: Participantes, Monitores e Carnes
Participantes--> Campos: CodPart, Nomepart
Monitores--> Campos: CodMonitor, NomeMonitor
Carnes--> Campos: NumeroCarne, CodPart, Parcela, Pagto
(no campo Parcela é gravado o mês e o ano da parcela)
(no campo Pagto é gravado a data de pagamento)
Preciso fazer uma consulta: Quais os carnes em aberto por monitor.
Carrego uma ListView com os monitores cadastrados.
Escolho nesta ListView o monitor que preciso pesquisar.
Pesquiso na tabela de participantes quais os que tem o Codigo do Monitor
igual ao selecionado na ListView.
Depois pesquiso na tabela de carnês, quais os que tem o pagamento em aberto e onde
o código do participante é igual ao participante pesquisado.
Imprimo os dados necessários: Número do Carnê - Nome do Partipante - Parcela em Aberto
Este é o código.
sqlpart = "Select * From Participantes Where codmonit = " & LstMonit.SelectedItem.Text & " Order by nomepart"
Set rspart = db.OpenRecordset(sqlpart)
Do Until rspart.EOF
sqlcarne = "Select * From Carnes Where pagto Like 'XXX' And codpart = " & rspart("codpart") & " Order By numerocarne, parcela"
Set rscarne = db.OpenRecordset(sqlcarne)
Do Until rscarne.EOF
Print #1, Tab(1); Format(rscarne("numerocarne"), "0000"); Tab(15); rspart("nomepart"); Tab(70); rscarne("parcela")
rscarne.MoveNext
Loop
Print #1, Tab(0); ""
rspart.MoveNext
Loop
Só que quando imprimo o relatório, sai assim:
Carnê Participante Parcela
------------------------------------------------------------------------------
0899 ALCIDES ANDRÉ 01/2008
0899 ALCIDES ANDRÉ 02/2008
0899 ALCIDES ANDRÉ 03/2008
0899 ALCIDES ANDRÉ 04/2008
0942 ALCIDES ANDRÉ 01/2008
0942 ALCIDES ANDRÉ 02/2008
0942 ALCIDES ANDRÉ 03/2008
0942 ALCIDES ANDRÉ 04/2008
0561 LEONIDAS ALMEIDA OLIVEIRA 01/2008
0561 LEONIDAS ALMEIDA OLIVEIRA 02/2008
0561 LEONIDAS ALMEIDA OLIVEIRA 03/2008
0561 LEONIDAS ALMEIDA OLIVEIRA 04/2008
Eu precisava de uma maneira de não repetir os números de carnê e de participante.
Assim o relatório sairia assim:
Carnê Participante Parcela
------------------------------------------------------------------------------
0899 ALCIDES ANDRÉ 01/2008
02/2008
03/2008
04/2008
0942 ALCIDES ANDRÉ 01/2008
02/2008
03/2008
04/2008
0561 LEONIDAS ALMEIDA OLIVEIRA 01/2008
02/2008
03/2008
04/2008
------------------------------------------------------------------------------
Será que existe uma maneira?
Até mais