CRYSTAL REPORTS

SVS99 23/03/2005 23:27:49
#74597
Ola Amigos

Estou com um problema de relacionamento no Crystal Reports.Eu tenho uma tabela pai e uma filhote que estao devidamente relacionadas.Alem dessas duas existem outras tabelas
que estao relacionadas na tabela pai, que sao tabela de Agencias maritimas e Portos.Tudo funciona bem, quando eu sigo esse relacionamento, pois como disse as tabelas estao relacionadas.

Os dados principais sairao da tabela filhote, logo o Crystal atraves do relacionamento no Visual Link Expert, ira na tabela Pai, verificara o relacionamento e pegara os IDÂÂÂ's que estao na Tabela Pai de Portos e Agencias Maritimas, me possibilitando assim criar o meu relatorio.

O problema e que em varias ocasioes a tabela filhote, nao tera nenhuma referencia na Tabela Pai, logo os campos de Agencias Maritimas e Portos, deverao ser retirados da propria tabela filhote, que possuem os mesmos campos de "IDÂÂÂ's" da tabela Pai.

Eu quero saber como informar ao Crystal que em determinado momento ele deve pegar os campos da Tabela Pai e em outros da Tabela Filhote, no mesmo relatorio, pois os registros sao impressos por periodo.

Tem como fazer isso.

Obrigado
RODRIGOMARCHESE 24/03/2005 08:52:08
#74630
Resposta escolhida
Eu acho que a solução seria você criar "Formula Field" para estse campos e via código testar o conteúdo retornado. Daí você define qual campo de qual tabela ele deve considerar.
SVS99 24/03/2005 09:33:14
#74640
Pode me dar algu exempl escrito.


Obrigado
RODRIGOMARCHESE 24/03/2005 10:16:40
#74658
no editor do Formula Field faça assim]

IF {TBL_MATPRIMA.PRODUTO} = "BANANA" THEN
"XXX"
ELSE
"ZZZ"

observe que no editor tem as funções e operadores que são auto explicativos
RODRIGOMARCHESE 24/03/2005 10:18:50
#74659
observe que está verificando o conteúdo do campo PRODUTO na tabela TBL_MATPRIMA.

no seu caso poderia fazer assim

IF {TBL_FILHO.PRODUTO} = "BANANA" THEN
{TBL_FILHO.PRODUTO}
ELSE
{TBL_PAI.PRODUTO}

SVS99 24/03/2005 12:04:11
#74671
Obrigado novamente Rodrigo.O seu exemplo com a formula acima funcionaria muito bem, caso eu nao estivesse trabalhando com "ID's", pois o Crystal se encarrega de pegar os campos relacionados para mim.
Bem e teho a tabela pai TB_MASTER e a tabela flhote TB_HOUSE.

Estao ligadas pelo campo TBMAS_ID, pesente claro em ambas.Eu tenho outras tabelas que sao : TB_ARMADOR,TB_PORTOS,TB_TERMINAL,TB_AGENCIA.

No Visual Link Expert eu relaciono as tabelas.A tabela TB_MASTER, tem os "ID's" ,TB_ARM_ID,TBPOR_ID,TER_ID e TBAGE_ID.Eu relaciono esses "ID's"com os das 4 tabela acima "Armador,Portos,terminal e Agencia".

Nesse caso tudo funciona perfeitamente

Porem como disse em alguns casos a tabela filhote tera o campo de relacionamento TBMA_ID = 0.Qando isso ocorrer significara que os dados do
"Armador,Terminal,Agencia e Portos", nao poderao vir da tabela Pai TB_MASTER.
A tabela filhote ambem possui os os "ID's" ,TB_ARM_ID,TBPOR_ID,TER_ID e TBAGE_ID, e nesse caso esses ID's deverao ser utilizados para se determinar o
"Armador,Terminal,Agencia e Portos".
Esse e o me problema e eu nao teho como fazer diferente separando a tabela e duas por exemplo, pois e exatamente dessa forma que os dados devem ser cadastrados.Uma hora depende da tabela Pai e a outra Nao.

Eunao consigo resolver esse problema, pois o relacionamento da tabelas existe no Visual Link expert, sendo usado ou nao e o Crystal nao consegue entender isso.

Desculpe pela minha cata mas sera que voce entendeu o meu problema? Esera que da pararesolver isso no Crystal?


Obrigado e um abraco
USUARIO.EXCLUIDOS 24/03/2005 12:41:24
#74676
SVS99,

Tenho um exemplo de um livro de Crystal Report muito bom, me ajudou bastante caso queira me passe seu e-mail que te envio os exemplos.
Tópico encerrado , respostas não são mais permitidas