• 0
Sign in to follow this  
The Lau

Duas Tabelas E Crystal

Question

já agradeço de antemão a ajuda do Kuroi! Um abraço....

Bom agradeço a ajuda e agora quero pedir mais um socorro...

O que acontece é o seguinte usando o código abaixo eu consigo inserir os campos apenas de tabela Perimetria "{Perimetria.NumeroAvaliacao}, e quando eu insiro campos de outra tabela no mesmo relatório não funciona... O que eu gostaria de saber é como montar um relatório com campos de duas ou mais tabelas “linkadas” por um campo: NumeroAvaliacao¿

Dim codigo As String

codigo = "{Perimetria.NumeroAvaliacao}= '" & txtNumeroAvaliacao.Text & "'"

Me.MousePointer = 11

CrystalReport1.ReportFileName = App.Path + "\impressao.RPT"

CrystalReport1.DataFiles(0) = App.Path + "\Fitlau.mdb"

CrystalReport1.SelectionFormula = codigo

CrystalReport1.CopiesToPrinter = 1

CrystalReport1.Destination = crptToWindow

CrystalReport1.Action = 1

Me.MousePointer = 1

End Sub

Share this post


Link to post
Share on other sites

18 answers to this question

Recommended Posts

  • 0

no arquivo .rpt as duas tabelas devem estar adicionadas. uma delas deve ter um campo chave e você deve linkar um dos campos da outra tabela com a chave.

no seu caso a chave deve ser esse campo NumeroAvaliacao. caso não seja possivel adicionar essa chave em nenhuma das duas tabelas (no caso de existirem registros com valores repetidos no campo), você deve fazer uma consulta SQL juntando estas duas tabelas com INNER JOIN (ou OUTER JOIN) e usar essa consulta como database no .rpt.

tb tem um jeito d passar um select direto de um recordset do visual basic para o relatorio mas é meio complicado, recomendo usar mesmo a consulta, mas se quiser fala ae q eu te explico como faz...

Share this post


Link to post
Share on other sites
  • 0
Guest - The Lau -

Dai mais uma vez, bom o negócio é seguinte... Eu tenho cinco tabelas e todas tem um campo em comum que é o NumeroAvaliacao.

Você não teria aí um exemplo de como fazer isso uma vez que eu não tenho nocao de como faz... Valeu...

Share this post


Link to post
Share on other sites
  • 0

sim. me passe seu e-mail q tenho alguns relatorios com relacionamento q eu fiz, alguns bem simples e outros meio complicados.

so não garanto q eu tenha tempo pra mandar hoje...

Share this post


Link to post
Share on other sites
  • 0
Guest - The Lau -

Cara sem stress! Acontece que eu estou fazendo este projeto já 1 ano e meio hehe! Só com dica e ajuda de vc's, está show de bola já; então uma hora que você conseguir mandar fico no aguardo...

Meu email é

[email protected]

Share this post


Link to post
Share on other sites
  • 0
Guest - The Lau -

Ai guri... recebi os arquivos agradeço muito... Mas o negocio é o seguinte... Eu reformulei o BD e no crystal eu conseguir gerar as duas tabelas, so no crystal..... O problema é como chamar agora... do vb para imprimir... Ou seja, no crystal eu consigo gerar o relatorio de duas ou mais tabelas... O problema agora é como chamar do VB. Quando chamo da erro de Formula... Tá dificil esse negocio... Mas agradeço a atençao...

Estou usando a versao 4.6... Porque a versao 11 que tenho acho que não existe OCX para ela....ou não sei como fazer...

Share this post


Link to post
Share on other sites
  • 0

como uso a versao 8.5, não posso te ajudar com esse negocio do OCX, mas posta ae o seu codigo de como você poe a formula pra eu ver se consigo te ajudar com isso.

Share this post


Link to post
Share on other sites
  • 0
Guest - The Lau -

E ai guri...bom o negocio é o seguinte... estou usando a formula que postei no primeiro anteriormente...

O que acontece é o seguinte....tenho uma tabela com os seguintes campos.

Tabela Cadastro:

Codigo.......Nome........Nascimento........Endereço......etc

e outra:

Tabela Avaliacao:

NumeroAvaliacao......Codigo.........Hora.......Nome.........

e outra com

Tabela Imc:

Numero Avaliacao.....Codigo.......Hora.......Nome.......Peso........Altura....

Agora estou prescisando um codigo que abra pelo Numero da Avaliacao que é string...

Hehe! Pelo menos acho que é.... Quando eu coloco uma tabela só abre...mais de uma não...

Obrigado de gentileza...

laugh.gif

Share this post


Link to post
Share on other sites
  • 0
Guest Guest

Run-time error 20515

Error in formula

Private Sub cmdImprimir_Click()

Dim codigo As String

codigo = "{Avaliacao.NumeroAvaliacao}= '" & txtNumeroAvaliacao.Text & "'"

Me.MousePointer = 11

CrystalReport1.ReportFileName = App.Path + "\impressao.RPT"

CrystalReport1.DataFiles(0) = App.Path + "\Fitlau.mdb"

CrystalReport1.SelectionFormula = codigo

CrystalReport1.CopiesToPrinter = 1

CrystalReport1.Destination = crptToWindow

CrystalReport1.Action = 1

Me.MousePointer = 1

End Sub

Share this post


Link to post
Share on other sites
  • 0

ve se algum desses resolve:

1 - o campo NumeroAvaliacao é mesmo string? se for numero tire os ''.

2 - copie o valor q fica armazenado na variavel codigo e teste-o no proprio Crystal no Record Selection Formula. se der errado ele deve dar uma mensagem mais especifica.

3 - talvez o erro não seja na Selection Formula. você não tem nenhum outro campo formula, ou não usa nenhuma outra formula na formacao de objetos e secoes? se tiver de uma olhada nelas.

o melhor jeito de resolver é abrir o .rpt no proprio crystal, copiar esse formula e tentar imprimir por la pra tentar descobir o erro.

Share this post


Link to post
Share on other sites
  • 0
Guest - The Lau -

Pois é o campo é string...e já testei na Record Selection Formula e funciona somente quando eu crio um rpt com uma tabela apenas...

Quando insiro duas tabelas a mesma formula não funciona....

Isso é uma m.... não sei o que acontece....

Share this post


Link to post
Share on other sites
  • 0

se quiser mandar os arquivos pro meu e-mail (se estiver usando bd access), tanto os rpt quando o banco e o vb, quando tiver um tempo eu dou uma olhada pra ver se descubro alguma coisa.

so não sei se vou conseguir abrir os relatorios direito por causa q são versoes diferentes.

Share this post


Link to post
Share on other sites
  • 0
Guest - The Lau -

Cara mande um email para eu pegar o seu endereço.... novamente

Share this post


Link to post
Share on other sites
  • 0
Guest - The Lau -

Cara deu certo! Fui mandar o exemplo para voce... reformulei o banco de dados...coloquei os links corretamente... e quando fui mandar para voce estava montando um exemplo e descobri que o erro era fazer o relatorio usando sql e não apenas os dados... consegui montar e mandar imprimir...nessa bagunça uma coisa é certa...e vale para todos...se o link não estiver perfeitamente o negocio não funciona..........

Agradeço a todos... obrigado pela paciencia....

biggrin.gif

Share this post


Link to post
Share on other sites
  • 0

uma dica, cara... devia ate ter te falado antes. so não sei se a sua versao do crystal q é diferente da minha acontece exatamente a mesma coisa. não sei tb se você já sabe, mas é sempre bom falar:

qualquer ateracao q c fizer no banco não importa qual seja, entre no rpt do crystal e ponha sempre o comando verify database. se você não fizer isso, o crystal vai achar q esta com a configuracao antiga do banco e seu relatorio vai sempre sair todo zuado. o ideal é deixar selecionado a opcao verify on every print. como não conheco sua versao do crystal não sei se é exatamente igual...

bom q funcionou. qualquer coisa poste ae.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this