USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  [PRINTER] - Parte IV
Nortuno
SÃO PAULO
SP - BRASIL
Postada em 11/05/2004 10:24 hs            
Olha esse codigo aqui:
Dim M_Nome As String
Dim M_DESCRICAO As String
Dim M_VALOR As String
Dim M_FazCabecalho As Boolean
Dim O_DESCRICAO As String
Dim O_CATEGORIA As String
Dim O_VALOR As String
Dim O_FazCabecalho As Boolean
Dim Linha As String
 
If MsgBox("Iniciar Impressão?", 36, "Aviso do Sistema") = 7 Then
Exit Sub
End If
Linha = 1
Data2.DatabaseName = (App.Path & "cyberbase.mdb")
Data2.RecordSource = "SELECT CLIENTE.CODIGO, CLIENTE.NOME, PARCELAS.* FROM CLIENTE INNER JOIN PARCELAS ON CLIENTE.CODIGO = PARCELAS.CODIGO_ALUNO WHERE PARCELAS.PAGAMENTO = #" & Format(MaskEdBox1, "mm/dd/yyyy") & "# ORDER BY NOME"
Data2.Refresh
Printer.FontName = "Arial"
Printer.FontSize = 8
Do While Not Data2.Recordset.EOF = True
If Not M_FazCabecalho Then
    Cabeçalho
    M_FazCabecalho = True
End If
M_Nome = Data2.Recordset.Fields("NOME")
M_DESCRICAO = Data2.Recordset.Fields("DESCRICAO")
M_VALOR = Data2.Recordset.Fields("VALOR")
Printer.CurrentX = 130
Printer.Print Tab(3); M_Nome;
Printer.Print Tab(65); M_DESCRICAO;
Printer.Print Tab(85); Format(M_VALOR, "R$ #,##0.00;(R$ #,##0.00)")
Linha = Linha + 1
Data2.Recordset.MoveNext
If Linha >= 80 Then
Printer.NewPage
Linha = 1
End If
Loop
 
'=====================================================
'===========COMEÇA AQUI A 2ª LISTA DE REGISTROS (OUTROS)====
'======================================================
Data5.DatabaseName = (App.Path & "cyberbase.mdb")
Data5.RecordSource = "SELECT DESCRICAO, CATEGORIA, VALOR FROM PGTOOUTRO WHERE DATA = #" & Format(MaskEdBox1, "mm/dd/yyyy") & "# AND (CATEGORIA <> '" & cboPrestadora.Text & "') AND (CATEGORIA <> '" & cboAcesso.Text & "')"
Data5.Refresh
O_FazCabecalho = False
Printer.Print " "
Printer.Print " "
Printer.Print " "
Printer.FontName = "Arial"
Printer.FontSize = 8
Do While Not Data5.Recordset.EOF = True
If Not O_FazCabecalho Then
    CabeçalhoX
    O_FazCabecalho = True
End If
O_DESCRICAO = Data5.Recordset.Fields("DESCRICAO")
O_CATEGORIA = Data5.Recordset.Fields("CATEGORIA")
O_VALOR = Data5.Recordset.Fields("VALOR")
Printer.Print Tab(3); O_DESCRICAO;
Printer.Print Tab(65); O_CATEGORIA;
Printer.Print Tab(85); Format(O_VALOR, "R$ #,##0.00;(R$ #,##0.00)")
Linha = Linha + 1
Data5.Recordset.MoveNext
If Linha >= 80 Then
Printer.NewPage
Linha = 1
End If
Loop
Printer.EndDoc
 
Private Function Cabeçalho()
Printer.Print String(200, "-")
Printer.Print Tab(3); "NOME";
Printer.Print Tab(65); "REFERENTE";
Printer.Print Tab(85); "VALOR"
Printer.Print String(200, "-")
Printer.Print
End Function
 
O problema é o seguinte:
Se as duas listas (SQL) tiver dados para ser impressos aparece o cabeçalho.
Se uma das lista estiver vazia (=0) então ele não mostra o cabeçalho.
Eu queria quando imprimir mesmo que não tenha nenhum dado para ser impresso em uma das duas listas, mesmo assim apareça o cabeçalho....
 
obs: o codigo do CabeçalhoX é igual ao do Cabeçalho.
 

Nightcrawler
(nortuno do filme do X-Men II)
     
Roßerto
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 11/05/2004 12:02 hs            
simples, coloque a chamada da função Cabeçalho fora do WHILE
 
Roberto
 
     
Nortuno
SÃO PAULO
SP - BRASIL
Postada em 11/05/2004 14:25 hs            
Tio Roberto
Como sempre você é infalivel....
Thank´s....

Nightcrawler
(nortuno do filme do X-Men II)
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página