Nortuno
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 25/05/2004 17:25 hs
Eu (com ajuda de alguns amigos) crei esse codigos e coloquei-o no commandbutton: '===========MOSTRAR NO GRID=================================== 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
.MoveMax .MoveMin
QTDE = .RecordCount / 6 Formato = Grade.FormatString Grade.Clear Grade.FormatString = Formato Grade.Rows = QTDE + 1 For i = 1 To QTDE Grade.Row = i Grade.Col = 0: Grade.Text = !CODIGO Grade.Col = 1: Grade.Text = !NOME For j = 2 To 12 Step 2
Grade.Col = j Grade.Text = IIf(IsNull(!pagamento), "", !pagamento)
Grade.Col = j + 1 Grade.Text = IIf(!Status, "Pago", "")
.MoveNext Next Next End With
Para que serve? Quando eu clicar no command ele mostrará no Flexgrid os dados de duas tabelas diferentes (Cliente e Parcelas). 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 imprimir igual está sendo exibido na flexgrid.... Na frexgrid aparece assim: 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.
QUERIA IMPRIMIR IGUAL ESTÁ SENDO EXIBIDO NO GRID !!!!
Nightcrawler (nortuno do filme do X-Men II)
|
|
|
|
Nortuno
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 26/05/2004 11:11 hs
Nightcrawler (nortuno do filme do X-Men II)
|
|
|
Nortuno
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 26/05/2004 11:11 hs
Nightcrawler (nortuno do filme do X-Men II)
|
|
|
|
Postada em 26/05/2004 11:11 hs
|
|
|
Shadow
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 26/05/2004 11:53 hs
Tem 3 possibilidades, ou vc usa o Crytal Reports com o Cross-Table, usa o Objeto Print do vb ou o DataReport do VB.
|
|
|
Nortuno
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 26/05/2004 17:09 hs
Eu fiz assim: 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
.MoveMax .MoveMin PRinter.Print "Cód."; TAB(10);"NOME";tab(40);"1º PAGTO";tab(50);"STATUS"; tab(60);"2º PAGTO";tab(70);"STATUS" QTDE = .RecordCount / 6 For i = 1 To QTDE Printer.Print !CODIGO;tab(10);!NOME;tab(40);! IIf(IsNull(!pagamento), "", !pagamento);tab(50); IIf(!Status, "Pago", "")
.MoveNext Next Next End With Printer.enddoc Quando executo ele dar o seguinte erro:
Compile error: Next without For
na janela aparece 02 botões, OK e Cancelar... dou um clique no OK e ele seleciona o ultimo NEXT.
...ai eu apago esse NEXT e quando executo novamente, ele dar o seguinte erro:
Run-time error '3265' Item not found in this collection
...quando clico no debug ele seleciona a seguinte linha:
Printer.Print !CODIGO;tab(10);!NOME;tab(40);! IIf(IsNull(!pagamento), "", !pagamento);tab(50); IIf(!Status, "Pago", "")
O que devo fazer?
Nightcrawler (nortuno do filme do X-Men II)
|
|
|
|