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
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 03/05/2004 20:53 hs            
Tenho um command que possui o seguinte codigo:
Private Sub cmdImprimir_Click()
Dim S_Nome As String
Dim S_DESCRICAO As String
Dim S_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
Printer.EndDoc
End Sub
 
está tudo ok!
O problema é o seguinte quero criar uma outra SQL que mostre outra lista de registro só que começando depois de um certo espaço da 1ª lista... ai que está o problema... não sei onde termina a 1ª lista, pois pode aparecer 2 registros (2 linhas) ou 20 registros (20 linhas) (a quantidade de registro varia)... ai não tem como definir uma posição CurrentX para a 1ª linha da segunda lista....
 
a SQL da 2ª lista de registros a ser impresso na mesma pagina é essa:
Data3.DatabaseName = (App.Path & "\cyberbase.mdb")
Data3.RecordSource = "SELECT DESCRICAO, CATEGORIA, VALOR FROM PGTOOUTRO WHERE DATA = #" & Format(Mask1, "mm/dd/yyyy") & "# AND (CATEGORIA = '" & cboAcesso.Text & "')"
Data3.Refresh
 
Desde já agradeço1
 

Nightcrawler
(nortuno do filme do X-Men II)
   
Nortuno
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 05/05/2004 08:17 hs            
Não sei se todos entenderam minha pergunta...
... vou simplificar!
 
Quero fazer uma sequencia de codigos dentro do comando printer que imprima 02 listas de registros....
... a 1ª lista terá uma quantidade de linha que pode variar
... a 2ª lista tem que começar logo após a 1ª lista (com um espaço entre as duas lista, não quero que fique juntas)....
 
 
O codigo está no post acima!
 
Espero que alguem possa me ajudar, pois estou precisando muito disso
 
Desde já agradeço
   
MasterPrint
MIRANDOPOLIS
SP - BRASIL
ENUNCIADA !
Postada em 05/05/2004 09:34 hs            
Cara, se entendi direito, você não terá problemas se colocar a segunda consulta ao final do Loop da primeira e antes do Printer.EndDoc.
Já tentou isso?
 
Sabe, fiz um relatório que era exigido a conexão com três tabelas e fiz desta forma.
 
   
ACG1504
Pontos: 2843 Pontos: 2843
PATOS DE MINAS
MG - BRASIL
ENUNCIADA !
Postada em 05/05/2004 10:37 hs            
porque sua linha é string e nao integer?
   
Nortuno
não registrado
ENUNCIADA !
Postada em 05/05/2004 13:05 hs   
MasterPrint
 
Desculpe minha ignorancia...
...tem como vc me dar um exemplo de como ficaria o codigo?
 
Obrigado
   
MasterPrint
MIRANDOPOLIS
SP - BRASIL
ENUNCIADA !
Postada em 06/05/2004 08:52 hs            
Primeiramente, o colega ACG1504 tem razão.
 
Como dito anteriormente, se realmente entendi sua dúvida e pressupondo que a sub está funcionando corretamente, seu código ficaria +/- assim, logo após o Loop da primeira consulta:
 
Data2.Close          'Feche a primeira consulta e abra a segunda
DataX.DatabaseName = (App.Path & "\cyberbase.mdb")
DataX.RecordSource = "SELECT [sua nova consulta]"
DataX.Refresh

Printer.FontName = "Arial"
Printer.FontSize = 8
Do While Not DataX.Recordset.EOF = True
If Linha = 1 Then
    Cabeçalho
End If
S_Nome = DataX.Recordset.Fields("NOME")
... [seu código]
Loop
DataX.Close
Printer.EndDoc
End Sub
 
Infelizmente DAO não é minha praia, mais espero ter podido clarear um pouco pra você.
Boa sorte e t+
 
   
Página(s): 1/2      PRÓXIMA »

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