Ir para conteúdo
Fórum Script Brasil
  • 0

Duas Tabelas E Crystal


The Lau

Pergunta

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

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 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...

Link para o comentário
Compartilhar em outros 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...

Link para o comentário
Compartilhar em outros 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 é

fitlau@yahoo.com.br

Link para o comentário
Compartilhar em outros 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...

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros 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.

Link para o comentário
Compartilhar em outros 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....

Link para o comentário
Compartilhar em outros 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.

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros 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.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...