Jump to content
Fórum Script Brasil
  • 0

Relatório em Cristal.


Leandro_Pirozzi

Question

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

Edited by kuroi
Adicionar tag CODE
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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

Edited by Leandro_Pirozzi
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...