PASSAR CONFIGURA?ÃO BANCO CRYSTAL REPORTS

ADILSOO 25/03/2017 12:31:08
#472755
Boa tarde pessoal!
Gostaria de saber, se tem alguma forma de passar a localização do banco de dados para abrir o relatório do Crystal Reports, pois se eu selecionar o banco somente ao abrir o relatorio, toda vez que for um cliente diferente com um banco com nome diferente, ele vai dar erro e eu ter que configurar novamente o relatório para o novo banco.
Alguém sabe?

Eu encontrei esse código mas não estou sabendo utilizar..

Report.Database.Tables.Item([Ô]Customer[Ô]).SetDataSource(dataSet) 


Para chamar o relatório em questão eu faço assim...

Dim crApp As New CRAXDRT.Application
Dim CRRep As New CRAXDRT.Report

If cbotipo = [Ô]ENCARREGADO COM VALOR[Ô] Then
Set CRRep = crApp.OpenReport(App.Path & [Ô]\Relatorios\RelPreparo.rpt[Ô])
ElseIf cbotipo = [Ô]ENCARREGADO SEM VALOR[Ô] Then
Set CRRep = crApp.OpenReport(App.Path & [Ô]\Relatorios\RelPreparoSVLR.rpt[Ô])
Else
Set CRRep = crApp.OpenReport(App.Path & [Ô]\Relatorios\Tratorista.rpt[Ô])
End If

If txtcodpreparo.Text = [Ô][Ô] Then
MsgBox [Ô]Informe o código do preparo[Ô], vbExclamation + vbOKOnly, [Ô]Sistema diz[Ô]
txtcodpreparo.SetFocus
ElseIf cbotipo.Text = [Ô][Ô] Then
MsgBox [Ô]Informe o tipo do preparo[Ô], vbExclamation + vbOKOnly, [Ô]Sistema diz[Ô]
cbotipo.SetFocus
Else
CRRep.RecordSelectionFormula = [Ô]{tabcadpreparo.codpreparo}=[Ô] & txtcodpreparo.Text & [Ô][Ô]
crpreparo.ReportSource = CRRep
crpreparo.ViewReport
End If



Tentei fazer dessa forma também mas não obtive sucesso...

Dim crApp As New CRAXDRT.Application
Dim CRRep As New CRAXDRT.Report
Dim CrXDataBase As CRAXDRT.DatabaseTable


Dim Server As String
Dim Database As String
Dim Port As String
Dim UserID As String
Dim Password As String


Server = ReadINI([Ô]SERVIDOR_ONLINE[Ô], [Ô]IP[Ô], App.Path & [Ô]\NSCONFIG.ini[Ô])
Database = ReadINI([Ô]SERVIDOR_ONLINE[Ô], [Ô]PORTA[Ô], App.Path & [Ô]\NSCONFIG.ini[Ô])
Port = ReadINI([Ô]SERVIDOR_ONLINE[Ô], [Ô]BD[Ô], App.Path & [Ô]\NSCONFIG.ini[Ô])
UserID = ReadINI([Ô]SERVIDOR_ONLINE[Ô], [Ô]USUARIO[Ô], App.Path & [Ô]\NSCONFIG.ini[Ô])
Password = [Ô]Adilsongr1@[Ô]



Conecta True

sSQL = [Ô]SELECT * FROM tabitensquadra[Ô]
Set CRRep = Conexao.Execute(sSQL)


For Each CrXDataBase In CRRep.Database.Tables
[ô]Conectar via ODBC,
CrXDataBase.SetLogOnInfo Server, Database, UserID, Password
DoEvents
Next


Lembrando que o que muda é somente o nome servidor e banco, as tabelas e campos são iguais para todos os bancos

O que preciso é passar para o relatório entender que o server e banco mudou, mas as tabelas não.
ADILSOO 26/03/2017 14:55:53
#472777
Alguém?
ADILSOO 27/03/2017 18:17:19
#472814
Ninguém?
DAMASCENO.CESAR 27/03/2017 20:34:14
#472818
KERPLUNK 27/03/2017 22:05:05
#472822
Um dica de uma estratégia:
Se você precisa fazer as coisas de um modo um pouco diferente e não sabe como, no último passo, pare o processo, adicione os objetos envolvidos no Watch Window(Janela de inspeção de variáveis) e observe todas as propriedades. No seu caso, faça o que sempre fez, da mesma maneira que sempre fez. Logo antes de exibir o relatório, adicione as variáveis(no seu caso [Ô]crpreparo[Ô]) na janela de inspeção e veja TODAS as propriedades e seus valores.
ADILSOO 22/06/2017 11:01:51
#474662
Bom dia galera!
Olha, tentei de várias formas, e não consegui encontrar meio para passar os parâmetros para configuração do banco.
Será que alguém usa Crystal Reports de outra forma?
Pois dessa forma, fica preso a configuração dentro do arquivo, tendo que configurar cada arquivo para cada computador.
Se alguém souber de alguma saída...
Por favor..
NILSONTRES 22/06/2017 12:43:37
#474665
http://www.vbmania.com.br/index.php?modulo=detalhe&id=9340
ADILSOO 22/06/2017 15:36:39
#474667
Esse é para visual studio 2010 amigo
NILSONTRES 22/06/2017 18:15:36
#474676
Citação:

Esse é para visual studio 2010 amigo


Não importa, funciona em qualquer vs, talvez vc tenha que alterar o framework apenas.
E outra você esta indo só atras dos fontes, o código é para qualquer visual studio.
Tópico encerrado , respostas não são mais permitidas