Ir para conteúdo
Fórum Script Brasil
  • 0

Relatório em Cristal.


Leandro_Pirozzi

Pergunta

Um amigo me passou as variaveis de como criar um relatorio no Cristal, porem nunca usei e queria saber como fazer.

'DECLARAR AS VARIAVEIS

Dim CRApp As CRPEAuto.Application 'variavel para criar uma aplicação de cristal.
Dim Report As CRPEAuto.Report 'variavel para abrir o Report
Dim ReportDb As CRPEAuto.Database 'variavel para BD.
Dim ReportRss As CRPEAuto.DatabaseTables 'variavel para as tabelas do BD.
Dim ReportRs As CRPEAuto.DatabaseTable 'variavel para uma tabela
Dim OpcRelatorios As CRPEAuto.PrintWindowOptions

'CRIAR ESTA CONSTANTE EM UM MODULO
Public Const crJanela = 268435456 Or 524288 Or 65536 Or 131072 Or 16777216 Or 12582912 Or 8388608  'O que significa essas numeraçõe????

'EXEMPLO
Set TabRelatorio = New ADODB.Recordset
TabRelatorio.CursorLocation = adUseServer
TabRelatorio.Open VarSqlImp, MyDataBase, adOpenDynamic

StrRelat = App.Path & "\" & Trim(ParRelatorio) & ".rpt"  'ParRelatorio = NOME DO RELATORIO Tudo bem NOME DO RELATÓRIO, mas eu preciso criar ele no Cristal so pra por o nome dele aqui?????

Set CRApp = New CRPEAuto.Application
Set Report = CRApp.OpenReport(StrRelat)
Set ReportDb = Report.Database
Set ReportRss = ReportDb.Tables
Set ReportRs = ReportRss.Item(1)
Set OpcRelatorios = Report.PrintWindowOptions

With OpcRelatorios
  .HasCancelButton = True
  .HasCloseButton = True
  .HasExportButton = True
  .HasGroupTree = True
  .HasNavigationControls = True
  .HasPrintButton = True
  .HasPrintSetupButton = True
  .HasProgressControls = True
  .HasRefreshButton = True
  .HasSearchButton = True
  .HasZoomControl = True
End With

ReportRs.SetPrivateData 3, TabRelatorio

Report.Options.ZoomMode = 1
Report.Preview Mid(CmbRelatorios.Text, 10, Len(CmbRelatorios.Text)), , , , , crJanela, MdiPrincipal.hwnd

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

não conheco esse componente. qual o nome dele??

tipo qual a referencia q você adiciona??

e qual a versao do crystal você ta usando??

de qualquer modo, você já criou o .rpt e td??

Tudo bem NOME DO RELATÓRIO, mas eu preciso criar ele no Cristal so pra por o nome dele aqui?????

com esse componente ai não sei. com os q eu usava você conseguia criar o relatorio pelo codigo mesmo.

mas de qualquer forma, acho q o mais facil é criar no crystal mesmo.

Link para o comentário
Compartilhar em outros sites

  • 0
não conheco esse componente. qual o nome dele??

tipo qual a referencia q você adiciona??

e qual a versao do crystal você ta usando??

de qualquer modo, você já criou o .rpt e td??

Tudo bem NOME DO RELATÓRIO, mas eu preciso criar ele no Cristal so pra por o nome dele aqui?????

com esse componente ai não sei. com os q eu usava você conseguia criar o relatorio pelo codigo mesmo.

mas de qualquer forma, acho q o mais facil é criar no crystal mesmo.

então Kuroi.

Os componentes que eu vi foram:

Na parte de Controls:

- Crystal Report Control;

E em Designers:

Crystal Reports 8.5.

A versao é Crystal Reports 8.5.

As References são:

Crystal Reports 8.5 ActiveX Designer Run Time Library

Crystal Report Viewer Control

Crystal Reports 8.5 ActiveX Designer Design and Runtime Library

O RPT já esta criado sim.

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

leandro, não conheco essa forma q te passaram pra mostrar o relatorio, entretanto aqui tem uma explicacao de um modo bem mais facil: http://scriptbrasil.com.br/forum/index.php?showtopic=122749

de todos esses componentes q você passou, so precisaria desses dois:

Crystal Reports 8.5 ActiveX Designer Run Time Library

Crystal Report Viewer Control

e se o .rpt já ta criado e ta salvo, nem precisaria do crystal no designers.

so uma coisa, o seu .rpt já aponta pro banco de dados ou você quer passar os dados pelo recordset??

Link para o comentário
Compartilhar em outros sites

  • 0
leandro, não conheco essa forma q te passaram pra mostrar o relatorio, entretanto aqui tem uma explicacao de um modo bem mais facil: http://scriptbrasil.com.br/forum/index.php?showtopic=122749

de todos esses componentes q você passou, so precisaria desses dois:

Crystal Reports 8.5 ActiveX Designer Run Time Library

Crystal Report Viewer Control

e se o .rpt já ta criado e ta salvo, nem precisaria do crystal no designers.

so uma coisa, o seu .rpt já aponta pro banco de dados ou você quer passar os dados pelo recordset??

Opa, Kuroi obrigado pela atenção. Então é nessa parte q eu me perco. porque quando eu fiz ele no Crystal tem aquelas opções de database e tals, ali eu fui add os campos tanto que ele cria um label e outro campo em azul com o mesmo nome, acredito eu que seja para receber o q existe no valor do campo, certo?

Mas eu queria passar pelo recordset.

Vou dar um exemplo, tenho a tabela atividades e preciso gerar um relatório onde a pessoa informa o nome do Assessor em um text e seleciona a data da tarefa em um dtpicker ai quando clicar no botao ele vai nessa tabela e verifica o nome e a data e me traga tudo que a pessoa fez nesse dia. sera q deu pra ter uma idéia? Eu nunca fiz isso por isso to perdidao.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom tentei dessa outra maneira tb, mas não vai de jeito nenhum. Ai apresenta esse erro.

erro1j.th.jpg

Private Sub cmdprint_Click()

If Text1.Text = "" Then

MsgBox "Digite a data inicial.", vbExclamation, "Advertência"

Text1.SetFocus

Exit Sub

ElseIf Text2.Text = "" Then

MsgBox "Digite a data final.", vbExclamation, "Advertência"

Text2.SetFocus

Exit Sub

Else

'Caminho do Banco de Dados

CrystalReport1.DataFiles(0) = App.Path & "\CONTATOS.mdb"

'Selecionamos os Registros que se enquadram entre as datas

CrystalReport1.SelectionFormula = "{CONTATOS_HISTORICO.ASSESSOR}= '" & txtassessor.Text & "'" & _

" and {CONTATOS_HISTORICO.DATATAREFA} >= Date(" & Text1.Text & ") and " & _

"{CONTATOS_HISTORICO.DATACONCUIDA} <= Date(" & Text2.Text & ")"

'Caminho do Relatório

CrystalReport1.ReportFileName = App.Path & "\relatativdiaria2bd.rpt"

CrystalReport1.WindowTitle = "Relatório de Exemplo"

CrystalReport1.Destination = 0

CrystalReport1.Action = 1

End If

End Sub

Editado por Leandro_Pirozzi
Link para o comentário
Compartilhar em outros sites

  • 0

heeheh...

GALERA!!! Consegui, olha aqui que simples heehhe...

Vlwwww Kuroi e a todos que me ajudaram.

Obrigado!!!

Segue o CODE:

Private Sub cmdprint_Click()

If Text1.Text = "" Then

MsgBox "Digite a data.", vbExclamation, "Advertência"

Text1.SetFocus

Exit Sub

Else

'Caminho do Banco de Dados

CrystalReport1.DataFiles(0) = App.Path & "\CONTATOS.mdb"

'Selecionamos os Registros que se enquadram entre as datas

CrystalReport1.SelectionFormula = "{CONTATOS_HISTORICO.ASSESSOR}= '" & txtassessor.Text & "'" & _

" and {CONTATOS_HISTORICO.DATATAREFA}= '" & Text1.Text & "'"

'Caminho do Relatório

CrystalReport1.ReportFileName = App.Path & "\relatativdiaria2bd.rpt"

CrystalReport1.WindowTitle = "Relatório de Atividades Diárias(Marketing)"

CrystalReport1.Destination = 0

CrystalReport1.Action = 1

End If

End Sub

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...