Futura
|
PORTO FERREIRA SP - BRASIL
|
|
Postada em 10/05/2006 08:54 hs
depois de muita luta, e ajuda de amigos aqui do fórum, consegui colocar o crviewer na aplicação, agora estou com algumas duvidas iniciais, que são:
1) ele substitui totalmente o componente crystl32.ocx ?
2) no crystl32.ocx tinha o botão para selecionar a impressora, no crviewer não, pelo menos no 8.5 não tem, então como fazer para implantar esta opção ?
3) deixei um formulario com o componente crviewer, e de qualquer tela do sistema passo o parametro, e informo qual relatório carregar, esta seria a opção mais correta ?
4) o motivo pelo qual quero usar o crviewer, é porque o selectionformula em tabelas com muitos registros, fica lento demais, e o crviewer dizem que tem a opção de usar a sqlquery, só que testei e não funcionou, ou seja ele não respeita a sql, e trz a tabela toda, como resolver isto ?.
OBS: ABAIXO COMO FAÇO PARA EXIBIR O RELATÓRIO:
AQUI DE UM FORM QUALQUER CHAMANDO O FORM DO RELATÓRIO E PASSANDO PARAMETROS:
frmreport.Imprimir App.Path & "listacli.rpt" frmreport.Show 1
E AQUI O FORM QUE EXIBE O RELATÓRIO:
Public Sub Imprimir(Relatorio As String) Dim Aplicacao As New CRAXDRT.Application Dim Report As New CRAXDRT.Report Set Report = Aplicacao.OpenReport(Relatorio) Report.SQLQueryString ="select * from clientes where Tipo='Fornecedor'" CRViewer1.ReportSource = Report CRViewer1.ViewReport End Sub
Private Sub Form_Resize() CRViewer1.Top = 0 CRViewer1.Left = 0 CRViewer1.Height = ScaleHeight CRViewer1.Width = ScaleWidth End Sub
|
|
|
|
|
Postada em 10/05/2006 09:49 hs
1) sim ele substitui p crvystl32.ocx 2) No formulário do crviewer coloque: Private Sub CRViewer9_PrintButtonClicked(UseDefault As Boolean) Report.PrinterSetup (hwnd) End Sub 3) sim só que cuidado com os usuários que gostam de ficar abrindo um monte de relatórios ao mesmo tempo isso irá com certeza dar problema, se vc tiver apenas um form de crviewer A 4 questão eu vou passar, porque crio tabelas temporárias que serão acessadas pelos relatórios, dessa forma não utilizo a querystring
dsmn
|
|
|
Futura
|
PORTO FERREIRA SP - BRASIL
|
|
Postada em 10/05/2006 10:02 hs
daniel, eu havia colocado o crviewer do crystal 8.5, mas agora ja passei para o 9, mas da erro, diz que naum acha o banco. falta alguma coisa no codigo acima
|
|
|
|
Postada em 10/05/2006 10:10 hs
A base esta na mesma pasta do relatório?, se sim configura o crystal no database -- set location --- como SAME AS REPORT
dsmn
|
|
|
Futura
|
PORTO FERREIRA SP - BRASIL
|
|
Postada em 10/05/2006 10:20 hs
|
|
|
|
Postada em 10/05/2006 10:22 hs
faço isso e funciona perfeitamente '****Esta a a Função de impressão para o REPORT VIEW CONTROL da Seagate Public Sub Imprimir(Relatorio As String) Set Report = Aplicacao.OpenReport(Relatorio) '***Setamos a Variavel do relatorio para pegar o Arquivo no Disco Report.SQLQueryString = "select * from categories where categoryid=1" CRViewer1.ReportSource = Report '*** Estamos assumindo que "CRViewer1" e o Nome do Controle no Form1 CRViewer1.ViewReport '*** O Relatorio será Visualizado entes de ser Impresso End Sub
|
|
|