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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Erro ao executar duas vezes crystal
squall
SÃO BERNARDO DO CAMAPO
SP - BRASIL
Postada em 09/12/2004 10:06 hs            
Bom dia á todos
 
Eu tenho a rotina abaixo
 
Private oDtb As CRAXDDRT.DatabaseTable
Private oApl As New CRAXDDRT.Application
Private orpt As New CRAXDDRT.Report
Public sCriterio As String
Public iRelatorio As Byte
Private Sub Form_Activate()
  rptImpressao.Top = 0
  rptImpressao.Width = frmImpressao.Width
  rptImpressao.Height = frmImpressao.Height
 
  Select Case iRelatorio
 
    Case 1: ' Produtos
     
      Set orpt = oApl.OpenReport(sCaminhoRelatorio & "ptprodutos.rpt")
     
    Case 2: ' Clientes
   
      Set orpt = oApl.OpenReport(sCaminhoRelatorio & "ptClientes.rpt")
   
    Case 3: ' Fornecedores
     
      Set orpt = oApl.OpenReport(sCaminhoRelatorio & "ptFornecedores.rpt")
   
    Case 4: ' Vendas
     
      Set orpt = oApl.OpenReport(sCaminhoRelatorio & "ptOrcamento.rpt")
   
    Case 5: ' Contas à Receber
     
      Set orpt = oApl.OpenReport(sCaminhoRelatorio & "ptContasAReceber.rpt")
   
    Case 6: ' Contas à Pagar
     
      Set orpt = oApl.OpenReport(sCaminhoRelatorio & "ptContasAPagar.rpt")
   
  End Select
 
  orpt.RecordSelectionFormula = sCriterio
  For Each oDtb In orpt.Database.Tables
    oDtb.Location = sCaminhoBanco
  Next oDtb
  orpt.Database.Tables(1).Location = sCaminhoBanco
  rptImpressao.ReportSource = orpt
  orpt.DiscardSavedData
  rptImpressao.ViewReport
  Set oApl = Nothing
  Set orpt = Nothing
  Set oDtb = Nothing
End Sub
ao executar ela uma vez, o relatório executa normalmente, se eu executar ela de novo, dá pau e fecha o vb como se fosse erro fatal, alguém já viu isso ??
 
obrigado
     
Natarelli
não registrado
Postada em 09/12/2004 18:49 hs   
squall,
 
Qual o erro que está retornando?
     
squall
SÃO BERNARDO DO CAMAPO
SP - BRASIL
Postada em 09/12/2004 21:26 hs            
Não retorna erro nenhum,simplesmente fecha o vb e o aplicativo tbm, nossa, q coisa estranha, hoje eu tava usando o printform para imprimir o form em uma tela com dois grids e ao sair na impressora só saia os dados de um grid e não do outro
 
Emoções
 
Obrigado pela ajuda
     
Sandro
não registrado
Postada em 09/12/2004 22:39 hs   
Olá Squall,
 
O que provavelmente está ocorrendo com o Crystal pode ser o modo como você definiu os objetos no formulário e o disparo do relatório no evento Activate. Experimente fazer o seguinte:
 
1 - Altere as linhas abaixo
        Private oApl As New CRAXDDRT.Application
        Private orpt As New CRAXDDRT.Report
    Para
        Private oApl As CRAXDDRT.Application
        Private orpt As CRAXDDRT.Report
 
2 - Remova todo o código do evento Activate e o coloque em uma procedure separada (por exemplo, Chama_Relatorio) no seu formulário, mas com a cláusula Public nela, de forma que você possa dispará-la de fora do formulário. Quando for chara o seu formulário faça assim:
 
    Load FrmImpressao
    FrmImpressao.Chama_Relatorio
    FrmImpressao.Show         'Se quiser use vbmodal aqui
 
3 - Dentro desta procedure, antes de qualuqer código, coloque isso:
 
    Set oApl = New CRAXDDRT.Application
    Set orpt = New CRAXDDRT.Report
 
4 - Remova as linhas
    Set oApl = Nothing
    Set orpt = Nothing
   
    do final da procedure e as coloque no evento Unload do formulário.
 
Tente isso e veja se funciona. funcionando ou não, mande uma mensagem, ok?
 
Um abraço,
Sandro.
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



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