IMPRESSAO DO CR7 ATRAVES DO VB6

SVS99 21/12/2009 11:36:19
#330170
Ola Amigos

Para imprimir os relatorios do Crystal 7 dentro do VB6, eu sempre uso a sintaxe abaixo.

from.crystal.Connect = [Ô]DSN=TENIS;uid=Admin;pwd=;dsq=TENIS.mdb[Ô]
DSN=TENIS - E o nome da minha conexao ODBC que aposta para o diretorio onde esta a base
dsq=TENIS.mdb - E o nome da minha base.

Por questao de conveniencia eu sempre fiz assim, porem teri que gerar um CD de instalacao, logo os relatorios deverao estar no diretorio corrente.

1 - Poderiam me dizer como chamar os relatorios do Crystal, uma vez que nao estarao mais em um diretorio definido por mim e sim no diretorio onde o Windons instala os programas?

2 - Dentro do Crystal eu sempre informo o ODBC como a origem da base, uma vez que o ODBC ja foi criado antes disso..
Gostaria de saber se basta apenas incluir a base de dados dentro do Crystal e retirar depois a referencia ao ODBC, pois se eu Remover o ODBC antes, os campos que se encontram no relatorio, serao excluidos, uma vez que a base de dados foi retirada.

Eu estou meio confuso com relacao a isso.

Poderiam me ajudar?

Obrigado e um Abraço
F001E 21/12/2009 11:47:04
#330176
por exemplo...pra chamar o Relatorio...mesmo em pasta diferente usa o comando do Crystal....Report.ReportFileName = App.path & [Ô]\NomeDoRelatorio.rpt[Ô]
onde App.path ja é a Pasta de Instalação de sua Aplicação....

Só nao entendi o porque de voce Remover a Referencia do ODBC....seta no Crystal o Nome da ODBC que voce tem e coloca o mesmo nome na Criação do ODBC no Windows...funciona normal...
LLAIA 21/12/2009 11:47:38
#330177
1 - form.Crystal.DataFiles(0) = App.Path & [Ô]    enis.mdb[Ô]

2 - Acredito que removendo a referencia ODBC, vc realmente terá os campos removidos do report, pois mesmo se vc trocar a tabela ou conslta de um report, sem ao menos vc mudar a conexão dele, isto acontece.


tente abrir o relatório em run time como mostrei no item 1. pode dá certo, e dessa forma, vc não precisa perder tempo com esses rpts
SVS99 21/12/2009 12:13:38
#330185
Obrigado por sua ajuda F001E

Eu ja usso essa sequencia hoje : Report.ReportFileName = App.path & [Ô]\NomeDoRelatorio.rpt[Ô].

Quanto ao ODBC,eu o utilizo na hora de me conectar ao crystal, da forma abaixo :

FrmPrincipal.crystal.Connect = [Ô]DSN=TENIS;uid=Admin;pwd=;dsq=TENIS.mdb[Ô]

Eu quero retirar essa referencia de ODBC, pois o sistema podera ser instalado em qualquer pasta de preferencia do usuario,dai nao posso apontar para uma pasta especifica.

Portanto gostaria de saber como escrever a linha acima(FrmPrincipal.crystal.Connect = [Ô]DSN=TENIS;uid=Admin;pwd=;dsq=TENIS.mdb[Ô])


Obrigado eum Abraço
SVS99 21/12/2009 12:32:59
#330192
Obrigado por sua ajuda LLAIA

Fiz o que voce sugeriu mas infelizmente nao funcionou.

FrmPrincipal.CstRelatorio.DataFiles(0) = App.Path & [Ô]    enis.mdb[Ô]

Para chamar o relatorio usei, 1 dos 2 comandos abaixo.

No primeiro ela da tipo de um flash do Crystal se abrindo para mostrar o relatorio mas se fecha rapidamente.No segundo ocorre um erro [Ô]Cannot Open SQL Server[Ô]

FrmPrincipal.CstRelatorio.PrintReport
[ô]FrmPrincipal.CstRelatorio.Action = 1

Continuarei tentando.

Obrigado e um Abraço

F001E 21/12/2009 14:09:28
#330201
então tente assim...crie uma Variavel e coloque o Caminho do Banco de Dados...

Dim Caminho as string

Caminho = [Ô]C:\BancoDeDados\Tenis.mdb[Ô]

dai na linha Abaixo..na conexão faça assim....

(FrmPrincipal.crystal.Connect = [Ô]DSN=TENIS;uid=Admin;pwd=;dsq=[Ô] & Caminho & [Ô][Ô])
SVS99 22/12/2009 16:33:36
#330322
Muito obrigado F001E

Irei experimentar a sua sugestao.

Obrigado e um Abraço
Tópico encerrado , respostas não são mais permitidas