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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  [comando PRINTER] - onde acaba a lista de registro
Nortuno
não registrado
ENUNCIADA !
Postada em 06/05/2004 10:57 hs   
eu fiz o seguinte codigo:
 
Private Sub cmdImprimir_Click()
Dim S_NOME As String
Dim S_DESCRICAO As String
Dim S_VALOR As String
Dim X_DESCRICAO As String
Dim X_CATEGORIA As String
Dim X_VALOR As String
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") & "#"
Data2.Refresh

Printer.FontName = "Arial"
Printer.FontSize = 8
Do While Not Data2.Recordset.EOF = True
If Linha = 1 Then
    Cabeçalho
End If
S_NOME = Data2.Recordset.Fields("NOME")
S_DESCRICAO = Data2.Recordset.Fields("DESCRICAO")
S_VALOR = Data2.Recordset.Fields("VALOR")
Printer.CurrentX = 130
Printer.Print Tab(3); S_NOME;
Printer.Print Tab(65); S_DESCRICAO;
Printer.Print Tab(85); S_VALOR
Linha = Linha + 1
Data2.Recordset.MoveNext
If Linha >= 80 Then
Printer.NewPage
Linha = 1
End If
Loop

'Data2.Close          'o sistema diz que não existe este metodo
Data3.DatabaseName = (App.Path & "\cyberbase.mdb")
Data3.RecordSource = "SELECT DESCRICAO, CATEGORIA, VALOR FROM PGTOOUTRO WHERE DATA = #" & Format(MaskEdBox1, "mm/dd/yyyy") & "# AND (CATEGORIA = '" & cboAcesso.Text & "')"
Data3.Refresh
Printer.FontName = "Arial"
Printer.FontSize = 8
Do While Not Data3.Recordset.EOF = True
If Linha = 1 Then
    CabeçalhoX
End If
X_DESCRICAO = Data3.Recordset.Fields("DESCRICAO")
X_CATEGORIA = Data3.Recordset.Fields("CATEGORIA")
X_VALOR = Data3.Recordset.Fields("VALOR")
Printer.Print Tab(3); X_DESCRICAO;
Printer.Print Tab(65); X_CATEGORIA;
Printer.Print Tab(85); X_VALOR
Linha = Linha + 1
Data3.Recordset.MoveNext
If Linha >= 80 Then
Printer.NewPage
Linha = 1
End If
Loop

Printer.EndDoc
'End If
End Sub
 
Private Function Cabeçalho()
Printer.Print Tab(3); "NOME";
Printer.Print Tab(65); "REFERENTE";
Printer.Print Tab(85); "VALOR"
Printer.Print String(200, "-")
Printer.Print
End Function
 
Private Function CabeçalhoX()
Printer.Print Tab(3); "DESCRIÇÃO";
Printer.Print Tab(65); "CATEGORIA";
Printer.Print Tab(85); "VALOR"
Printer.Print String(200, "-")
Printer.Print
End Function
 
ELE CONSEGUIU IMPRIMIR AS DUAS LISTA CERTINHO...
...o unico problema é que elas estão imendadas (juntas) e a 2ª lista não está aparecendo o "Cabeçalho".
 
ERA PARA APARECER ASSIM:
 
NOME                          REFERENTE            VALOR
----------------------------------------------------------------------------
MARIA                        MAIO                      R$ 30,00
JOÃO                          FEVEREIRO            R$ 50,00
RAIMUNDO                MAIO                      R$ 40,00
 
02 ESPAÇOS
 
DESCRIÇÃO                 CATEGORIA            VALOR
-----------------------------------------------------------------------------
ACESSO                       CYBERCAFE           R$ 3,00
DIGITAÇÃO                 GRÁFICA                 R$ 5,00
IMPRESSÃO                GRÁFICA                 R$ 18,00
 
E ESTÁ APARECENDO ASSIM:
 
NOME                          REFERENTE            VALOR
----------------------------------------------------------------------------
MARIA                        MAIO                       R$ 30,00
JOÃO                          FEVEREIRO             R$ 50,00
RAIMUNDO                MAIO                       R$ 40,00
ACESSO                     CYBERCAFE            R$ 3,00
DIGITAÇÃO               GRÁFICA                 R$ 5,00
IMPRESSÃO              GRÁFICA                 R$ 18,00
   
MasterPrint
MIRANDOPOLIS
SP - BRASIL
Postada em 08/05/2004 12:52 hs            
Experimente, no lugar de:
 
If Linha = 1 Then
    CabeçalhoX
End If

Colocar:
 
Printer.Print ""
Printer.Print""
CabeçalhoX
 
Porque, na posição, linha não mais terá o valor = 1
 
Boa sorte e t+.
 
     
Página(s): 2/2     « ANTERIOR  

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