A ideia é a seguinte: tenho uma tabela chamada CLIENTE e outra chamada PARCELAS.
Toda vez que cadastramos um cliente é automaticamente criado 06 (seis) registros na tabela PARCELAS, sendo 01 matricula e 05 mensalidades.
O que eu quero?
Queria que fosse impresso assim(unir as duas tabelas):
COD NOME MATRICULA STATUS 1º PGTO STATUS 2º PGTO STATUS
0001 JOSE 10/02/04 PAGO 10/03/04 PAGO
0320 PEDRO 10/02/04 PAGO 15/03/04 PAGO
0420 JOAO 11/02/04 PAGO 17/03/04 PAGO 16/04/04 PAGO
e assim sucessivamente...
sendo que o codigo e o nome do cliente vem da tabela CLIENTE e as datas dos pagamentos vem da tabela PARCELAS
Ai eu fiz esse codigo:
Dim S_Codigo As String
Dim S_Nome As String
Dim S_Pagamento As String
Dim S_Status As String
Dim QTDE As Integer
Dim PGTO As String, Status As String
If Combo1.Text = "" Or Combo2.Text = "" Then
MsgBox "DIAS e/ou HORARIO INEXISTENTE!" & vbCrLf & "Verifique e digite novamente.", vbInformation, "Aviso do Sistema"
Exit Sub
End If
ABRIR_BD_com_Data Me.Data1
Data1.RecordSource = "SELECT CLIENTE.CODIGO, CLIENTE.NOME, CLIENTE.MODULO, PARCELAS.* " & _
"FROM CLIENTE INNER JOIN PARCELAS ON CLIENTE.CODIGO = PARCELAS.CODIGO_ALUNO " & _
"WHERE (DIAS = '" & Combo1.Text & "') and (HORARIO = '" & Combo2.Text & "') and (MODULO = '" & cboModulo.Text & "') " & _
"ORDER BY CLIENTE.CODIGO, PARCELAS.MES"
Data1.Refresh
With Data1.Recordset
If .BOF And .EOF Then
MsgBox "Não existe esse Módulo para esse horário!", , "Aviso do Sistema"
Exit Sub
End If
Printer.FontName = "Arial"
Printer.FontSize = 8
.MoveMax
.MoveMin
Printer.Print "CÓD."; Tab(7); "NOME"; Tab(55); "1º PGTO"; Tab(70); "STATUS"; Tab(85); "2º PAGTO"; Tab(100); "STATUS"
QTDE = .RecordCount / 6
S_Codigo = Data1.Recordset.Fields("CODIGO")
S_Nome = Data1.Recordset.Fields("NOME")
S_Pagamento = Data1.Recordset.Fields("PAGAMENTO")
S_Status = Data1.Recordset.Fields("STATUS")
For i = 1 To QTDE
Printer.CurrentX = 80
Printer.Print Tab(1); S_Codigo;
Printer.Print Tab(7); S_Nome;
Printer.Print Tab(55); IIf(IsNull(S_Pagamento), "", S_Pagamento);
Printer.Print Tab(70); IIf(S_Status, "Pago", "")
.MoveNext
Next
End With
Printer.EndDoc
Só que apareceu um novo problema!
Deveria aparecer o nome de 14 pessoas diferentes com sua datas de pagamento e quando eu coloco para imprimir ele imprime só o nome da primeira pessoa 14 vezes com a data do 1º pagamento dele(falta os outros pagamentos dele) tambem 14 vezes....
Não aparece o nome das outras 13 pessoas, nem a datas de pagamentos delas e nem as outras datas do primeiro....
Só Nome e 1º pgto do primeiro da lista e repete varias vezes e nada mais.
Quem puder me ajudar serei grato!!