Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafael Felippe

Relatorios com duas consultas

Recommended Posts

Olá pessoas... Preciso de uma ajuda...quero criar um relatorio que mostra o resultado de duas consultas.. O problema é que exitem tres tabelas: A, B e C...A tabela A se relaciona ( Um para muitos )com B e C . Quando gerar o relatorio preciso mostrar todas as informacoes de B que se relacionam com A e depois , no mesmo relatorio, mostrar todas as informacoes de C que se relacionam com A. Acredito ser facil realziar isto, porem nao estou conseguindo... Obrigado pela ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você poderia usar o comando UNION para fazer a junção de dois comandos SQL...

 

select a.cod, a.nome, 'b' Tipofrom a, bwhere a.cod = b.codunionselect a.cod, a.nome, 'c' Tipofrom a, cwhere a.cod = c.cod
Tente fazer algo do tipo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você poderia usar o comando UNION para fazer a junção de dois comandos SQL...

 

select a.cod, a.nome, 'b' Tipofrom a, bwhere a.cod = b.codunionselect a.cod, a.nome, 'c' Tipofrom a, cwhere a.cod = c.cod
Tente fazer algo do tipo...
Vou tentar fazer isto , mas acredito que nao ira resolver, pois a consulta eu ja consigo realizar sem problemas....atraves de duas consultas...o problema é na hora de mostrar estes resultados no formulario...

Por exemplo, a consulta que retorna os valores da tabela C tem apenas 2 registros, porém a consulta que retorna os valores da tabela B tem 4 registros, quando coloco todos os campos ( que receberao estes dados ) na area DETALHE do relatorio, os registros da consulta da tabela C ( que tem apenas 2 registros ), vão sendo repetidos ate chegarem a uma quantidade igual de registro da outra consulta...quando na verdade deveria ser mostrado apenas os 2 registros que existem nessa consulta e depois todos os registros da outra consulta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi... Tenta somente então usar o UNION para ver se muda esta situação...

Desculpe, mas faz muito tempo que nao mexo com acces e agora estou tendo que desenvover este bd para o escritorio em acess. Como usario este UNION para resolver meu problema ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para fazer a sua consulta, teria como você colocar a estrutura das tabelas e o SQL que você já têm ?

Essa pesquisa abaixo mostra os registros de todas as tabelas ( uma Pesquisa Geral) que possuem o campo IndiceSinistro semelhante em todas ( este campo existe nas tres tabelas)..
SELECT DadosEntradaSinistro.IndiceSinistros, DadosEntradaSinistro.Sinistro, DadosEntradaSinistro.Segurado, DadosEntradaSinistro.EnviadoDia, DadosEntradaSinistro.Cpf, DadosEntradaSinistro.Motivo, DadosEntradaSinistro.InicioAfastamento, DadosEntradaSinistro.Periodo, DadosEntradaSinistro.Cidade, DadosEntradaSinistro.Banco, DadosEntradaSinistro.Telefone, DadosEntradaSinistro.Agencia, DadosEntradaSinistro.ContaCorrente, DadosEntradaSinistro.Anexos, DadosEntradaSinistro.Observacoes, DadosEntradaSinistro.Prorrogado, DadosEntradaSinistro.SinistroSerit, DadosEntradaSinistro.SinistroVG, DadosEntradaSinistro.Grupo1, DadosEntradaSinistro.Estipulante1, DadosEntradaSinistro.Grupo2, DadosEntradaSinistro.Estipulante2, DadosEntradaSinistro.Grupo3, DadosEntradaSinistro.Estipulante3, tab_prorrogacao.IndiceProrrogacao, tab_prorrogacao.IndiceSinistro, tab_prorrogacao.DataEnvio, tab_prorrogacao.Periodo, Pagamentos.IndicePagamento, Pagamentos.IndiceSisnistro, Pagamentos.[Data de Pagamento], Pagamentos.[Data Inicial], Pagamentos.[Data Final], Pagamentos.Valor, Pagamentos.Diarias, Pagamentos.Processo, Pagamentos.[Pagamento FInal], Pagamentos.Beneficiario, tab_prorrogacao.AnexosFROM (DadosEntradaSinistro INNER JOIN Pagamentos ON DadosEntradaSinistro.IndiceSinistros = Pagamentos.IndiceSisnistro) INNER JOIN tab_prorrogacao ON DadosEntradaSinistro.IndiceSinistros = tab_prorrogacao.IndiceSinistroWHERE (((DadosEntradaSinistro.IndiceSinistros)=[Formulários]![DadosEntradaSinistro]![indicesinistrodados]));
Com essa pesquisa consigo todas as informações que quero porem no momento que coloco no relatorio acontece aquele problema que citei acima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.