MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro)

    avatar
    Convidado
    Convidado


    [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro) Empty SQL de consulta envolvendo 3 tabelas (Erro)

    Mensagem  Convidado 21/5/2012, 17:54

    Boa tarde Mestres...

    Tenho esta consulta entre duas tabelas relacionadas a saber:

    TblClientes x TblPedidos (Relacionamento um para muitos

    SELECT tbl_Pedido.ID_Pedidos AS PEDIDO, tbl_Clientes.txtNome AS CLIENTE, tbl_Pedido.Venda, tbl_Pedido.PedidoQuitado
    FROM tbl_Clientes LEFT JOIN tbl_Pedido ON tbl_Clientes.ID_Cliente = tbl_Pedido.ID_Cliente
    WHERE (((tbl_Pedido.ID_Pedidos) Is Not Null) AND ((tbl_Clientes.txtNome) Like [forms]![Cadastro_ParcelasCns]![Nome] & "*") AND ((tbl_Pedido.Venda)=Yes) AND ((tbl_Pedido.PedidoQuitado)=No));


    Funciona perfeitamente.

    Gostaria de adicionar mais uma tabela: A tblDetalhesPedido.

    Utilizo esta consulta em uma listBox e pretendo aplicar um critério para que quando o pedido nao tiver detalhes na tblDetalhesPedido, não seja exibido o cliente na list.


    Mas ao adicionar a tabela na consulta da a seguinte mensagem:

    Sem suporte para a expresão JOIN


    As 3 tabelas estão devidamente relacionadas no Be.

    Se puderem me ajudar, fico-lhes grato.

    Cumprimentos.
    avatar
    Convidad
    Convidado


    [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro) Empty Re: [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro)

    Mensagem  Convidad 21/5/2012, 18:08

    Harysohn

    Tudo bem, meu amigo?

    Creio que terá que fazer uma consulta aninhada (uma dentro da outra)

    Pois então, você já tem uma recordset (a consulta que está funcionando).
    Salve essa consulta e nomeie-a.

    Crie uma nova consulta e coloque essa consulta + a outra tabela que deseja.

    Bom o resto creio que você já sabe, eu acho que você só precisava de uma luz Laughing

    Abraços
    avatar
    Convidado
    Convidado


    [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro) Empty Re: [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro)

    Mensagem  Convidado 21/5/2012, 18:18

    Boas Balem...

    Ao abrir a origem da linha e visualizar as tabelas que compunha a instrução SQL, percebi que não importou o relacionamento da
    TblPedido com a tblDetalhePedido.

    Pois bem as relacionei novamente dentro da consulta.

    E funcionou.

    A questão é que como as tabelas estão no be... elas ao importar para a nova consulta não vinha acompanhadas de seus relacionamentos.

    As relacionei na cosulta assim como estão no be funcionou.

    Muito Obrigado.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro) Empty Re: [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro)

    Mensagem  Alexandre Neves 21/5/2012, 18:21

    Boa tarde, Hary

    Pela sua descrição, parece-me que basta adicionar a 3ª tabela no filtro, assim:

    SELECT ID_Pedidos AS PEDIDO, txtNome AS CLIENTE, Venda, PedidoQuitado FROM tbl_Clientes LEFT JOIN tbl_Pedido ON tbl_Clientes.ID_Cliente=tbl_Pedido.ID_Cliente WHERE Not IsNull(ID_Pedidos) AND txtNome Like [forms]![Cadastro_ParcelasCns]![Nome] & "*" AND Venda=Yes AND PedidoQuitado=No and ID_Pedido IN (SELECT ID_Pedido FROM tblDetalhesPedido);
    Abraço,

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro) Empty Re: [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro)

    Mensagem  Alexandre Neves 21/5/2012, 18:23

    Hary,

    Estava a escrever a ajuda e o amigo a dar por resolvido.
    Ainda bem.
    avatar
    Convidad
    Convidado


    [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro) Empty Re: [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro)

    Mensagem  Convidad 21/5/2012, 18:30

    Harysohn

    Ótimo então meu amigo

    Abração
    avatar
    Convidado
    Convidado


    [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro) Empty Re: [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro)

    Mensagem  Convidado 21/5/2012, 18:38

    Beleza amigão. O problema era somenta a falta de relacionamento entre as tabelas dentro da consulta.

    Como as tabelas estão no be, ao aplicar as tabelas na consulta estas não vieram com os relacionamentos, então refiz o relacionamento dentro da propria consulta.


    Eis.

    SELECT tbl_Pedido.ID_Pedidos AS PEDIDO, tbl_Clientes.txtNome AS CLIENTE, tbl_Pedido.Venda, tbl_Pedido.PedidoQuitado, tbl_DetalhePedido.ID_Pedido
    FROM (tbl_Clientes LEFT JOIN tbl_Pedido ON tbl_Clientes.ID_Cliente = tbl_Pedido.ID_Cliente) LEFT JOIN tbl_DetalhePedido ON tbl_Pedido.ID_Pedidos = tbl_DetalhePedido.ID_Pedido
    WHERE (((tbl_Pedido.ID_Pedidos) Is Not Null) AND ((tbl_Clientes.txtNome) Like [forms]![Cadastro_ParcelasCns]![Nome] & "*") AND ((tbl_Pedido.Venda)=Yes) AND ((tbl_Pedido.PedidoQuitado)=No) AND ((tbl_DetalhePedido.ID_Pedido) Is Not Null))
    ORDER BY tbl_Pedido.ID_Pedidos;


    Cumprimentos.

    Conteúdo patrocinado


    [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro) Empty Re: [Resolvido]SQL de consulta envolvendo 3 tabelas (Erro)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 20/5/2024, 07:40