RELACIONAR TABELAS CRYSTAL REPORTS

ADILSOO 30/03/2012 09:06:41
#398750
Bom dia gente, bom, queria saber como eu posso exibir dados de 3 tabelas no mesmo relatório, terei que relacionar as 3?
ADILSOO 02/04/2012 11:34:17
#398920
uuuupppp
NALDOXD 02/04/2012 12:31:01
#398928
sim dentro do crystal reports você estária inserindo as três tabelas no menu e definindo qual a ligação entre as três... se eu não me engano fica no quarto menu lá tem as opções de adicionar tabela, e manipular o ligamento das mesma... é que já faz um tempo que não trabalho com crystal... mas eu lhe aconcelharia a criar uma view ou tabela temporária, fazer o tratamento dentro do código e depois só inserir os dados em uma única tabela e apresentar somente aquela tabela, pois caso ocarra algum erro nos dados de seu relátorio você pode debugar o código e achar qual o problema, mas se você fazer o ligamento das tabelas dentro do crystall não conheço nenhuma forma de debugar elas...
ADILSOO 02/04/2012 17:10:46
#398967
Mas no caso eu preciso ter algum dado que está em outra tabela pra poder fazer o vinculo, EX: tab emissor eu teria que ter um campo EX: CodContrato?
ADILSOO 03/04/2012 07:24:35
#398986
Deixa eu explicar melhor, amigos se puderem me ajudar na logica aqui, porque ta meio difícil, ó, vou precisar dos dados de 3 tabelas, [txt-color=#0000f0][Ô]TabContrato, TabAluno, TabEmissor[Ô][/txt-color], tipo vou ter que ter tambem uma tabela [txt-color=#0000f0][Ô]TabContratoEmitido[Ô][/txt-color] e quando for gravar eu gravar na [txt-color=#0000f0]TabContratoEmitido[/txt-color] tipo [txt-color=#0000f0][Ô]CodContrato, CodAluno, CodEmissor[Ô],[/txt-color] desse jeito eu sei que vou conseguir exibir os dados das 3 tabelas, pois na [txt-color=#0000f0]TabContratoEmitido[/txt-color] eu vou ter os dados do [txt-color=#0000f0]CodAluno, CodContrato, CodEmissor[/txt-color], bom, eu sei que assim da certo, mas queria saber se a logica é essa mesmo? pois nao queria ficar criando tabelas a [txt-color=#0000f0]TORTO[/txt-color] e [txt-color=#0000f0]DIREITO[/txt-color], queria fazer o certo, obrigado a todos, abraco.
NALDOXD 03/04/2012 15:39:50
#399010
Ok vou tentar lhe explicar, postarei até algumas fotinhas

Bom primeiro, eu uso o Crystal Reports 8.5 e escolhi abrir um relátorio do zero para você dar uma olhada...

Vamos fazer praticamente tudo em [Ô]DATABASE[Ô], quando vc abri o relátorio pela primeira vez ele manda vc selecionar o banco e as tabelas que vão participar do seu relátorio no seu caso é [Ô]TabContrato, TabAluno, TabEmissor[Ô] e o no meu caso eu optei por cad_empresas, tab_jornadas e cad_funcionarios...

Na minha aba DATABASE>VISUAL LINKING EXPERT vai abrir digamos a minha área lógica do relátorio com todas as tabelas do meu sistema que eu inseri até agora ou que posso inserir futuramente:



Nessa mesma aba DATABASE>VISUAL LINKING EXPERT eu vou trabalhar as ligações das tabelas do meu relátorio, dizendo onde cada dado vai se encontrar em uma tabela diferente, no meu caso ficou assim:



Agora no meu relátorio eu vou em INSERT FILDS>DATABASE FILDS>MINHA TABELA (uma grid branca perto do tamanho da letra, não está no menu) e insiro os campos que vou colocar no meu relátorio:



Agora vou em DATABASE>SHOW SQL QUERY e noto que ele já gerou a minha query sql de ligação entre as tabelas ficando assim:
PS: Apague o [txt-color=#e80000]{ OJ[/txt-color] do começo e [txt-color=#e80000]}[/txt-color] do final, não sei porque ele gera esses caracteres.



E pronto, click em PREVIEW seu relátorio está criado com a ligação interna... básicamente será somente o primeiro passo que lhe dara trabalho o restante é só layout e coisinhas bobas, veja o resultado final do nosso relátorio:



Qualquer dúvida só postar..
ADILSOO 03/04/2012 16:07:23
#399014
Amigo é oque eu quis dizer, rs, se tem que ser assim é assim que tem que ser feito, mas o problema que eu tava falando era por exemplo, eu tenho uma tabela
----------------------------------
[txt-color=#0000f0]Alunos com os campos[/txt-color]
----------------------------------
[txt-color=#e80000]IdAluno
NomeAluno
TelefoneAluno[/txt-color]
----------------------------------
e outra tabela
----------------------------------
[txt-color=#0000f0]Emissores com os campos[/txt-color]
----------------------------------
[txt-color=#e80000]IdEmissor
NomeEmissor
TelefoneEmissor[/txt-color]
----------------------------------

nesse caso como que seria pra exibir os dados das duas tabelas? lembrando que as duas tabelas sao distintas uma da outra sem vinculo nenhum, é possivel?
NALDOXD 03/04/2012 16:21:57
#399020
Dessa forma se são distintas sem vinculo nenhum é lógico que não é possivel... Não tem como você identificar qual registro pertence a qual, a não ser que tenha alguma terceira tabela ou uma auxiliar que una as duas... Ou a de emissor deveria ter o IdAluno ou a do aluno deveria ter o IdEmissor ou uma terceira tabela que só grave esses dados de ligação...

Tabela3
---------------------------
IdAluno
IdEmissor
---------------------------

Procure na documentação do banco de dados se hoje você precisa ligar esses dados um analista deve ter deixado alguma solução... Igual na segundo foto dos exemplos a tabela de cad_funcionarios tem os campos empresa e jornada onde são gravadas os códigos da jornada e da empresa daquele funcionario para que depois tenha como ligar todos os registros...

ADILSOO 03/04/2012 16:57:34
#399030
Era essa minha duvida, eu achava que tinha alguma maneira de exibir os dados sem os vínculos, mas então valeu.
Tópico encerrado , respostas não são mais permitidas