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


5 participantes

    [Resolvido]Como trazer o ultimo registro no banco

    avatar
    rsantana
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 07/08/2012

    [Resolvido]Como trazer o ultimo registro no banco Empty [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  rsantana 7/8/2012, 22:55

    Galera,

    Quero realizar uma consulta em que a mesma me traga o ultimo registro de um cliente o relacionamento sera entre 2 tabelas a Tab_Cliente e a Tab_Tratamento o mesmo cliente pode aparecer N vezes na Tab_Tratamento e quero que a consulta me retorne o ultimo staus do cliete.

    Luiz Gustavo M
    Luiz Gustavo M
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 447
    Registrado : 13/09/2011

    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Luiz Gustavo M 8/8/2012, 00:35

    Olá
    Amigo.

    Fiz um pequeno BD de exemplos.
    Talvez o ajude.

    Boa sorte

    Luiz Gustavo
    Anexos
    [Resolvido]Como trazer o ultimo registro no banco Attachmentrsantana1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (11 Kb) Baixado 127 vez(es)
    avatar
    Wesley Castro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 08/11/2011

    [Resolvido]Como trazer o ultimo registro no banco Empty Isolar o último registro em uma consulta...

    Mensagem  Wesley Castro 20/11/2012, 22:40

    Olá,

    Também estou com uma situação parecida:

    Tenho a Tabela 'CLIENTES'
    - COD - (Numeração Automática)
    - CLIENTE - (Texto)

    Tenho a Tabela 'PEDIDOS'
    - COD - (Numeração Automática)
    - FK CLIENTE - (Número)
    - PEDIDO - (Número)
    - DATA - (Data)

    O Relacionamento entre as duas Tabelas é de (1 para Muitos), ou seja, para cada CLIENTE tenho vários Pedidos.
    Tenho uma Consulta chamada 'VISUALIZA PEDIDOS' baseada nas Tabelas 'CLIENTES' E 'PEDIDOS'...

    Como devo combinar as Funções 'Máx' ou 'Último', no modo Design desta Consulta, de forma a trazer o último pedido de cada 'CLIENTE'?
    Já tentei várias combinações no modo design, porém não consigo (ISOLAR) o último pedido...


    UM EXEMPLO DE COMO FICA A CONSULTA:

    CLIENTES_CÓD-----PEDIDOS_CÓD-----ÚltimoDeDATA
    26.................................1.................................15/12/2012
    26.................................2.................................05/12/2012
    26.................................3.................................06/12/2012
    26.................................4.................................20/12/2012
    54.................................5.................................15/12/2012
    54.................................6.................................05/12/2012
    54.................................7.................................06/12/2012
    54.................................8.................................20/12/2012

    CLIENTES_CÓD-----PEDIDOS_CÓD-----MáxDeDATA
    26.................................1.................................15/12/2012
    26.................................2.................................05/12/2012
    26.................................3.................................06/12/2012
    26.................................4.................................20/12/2012
    54.................................5.................................15/12/2012
    54.................................6.................................05/12/2012
    54.................................7.................................06/12/2012
    54.................................8.................................20/12/2012



    COMO DEVERIA FICAR:

    CLIENTES_CÓD-----PEDIDOS_CÓD-----MáxDeDATA
    26.................................4.................................20/12/2012
    54.................................8.................................20/12/2012

    ...
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Dilson 21/11/2012, 05:29

    Experimente antes os itens 6 e 7:
    Instruções SQL. Como utilizar.
    avatar
    Wesley Castro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 08/11/2011

    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Wesley Castro 27/11/2012, 17:57

    Dilson,

    Desculpe, mas ainda estou tentando me familiarizar em SQL.
    Aqui está o código da consulta:

    SELECT TabClientes.CÓD, TabClientes.Cliente, TabPedidos.CÓD, TabPedidos.[Data do Pedido]
    FROM TabClientes LEFT JOIN TabPedidos ON (TabClientes.CÓD = TabPedidos.[FK Clientes]) AND (TabClientes.CÓD = TabPedidos.[FK Clientes])
    GROUP BY TabClientes.CÓD, TabClientes.Cliente, TabPedidos.CÓD, TabPedidos.[Data do Pedido]
    HAVING (((TabPedidos.[Data do Pedido]) Is Not Null));


    porém ainda não consigui organizar a sintaxe e posicionar os códigos sugeridos...

    SELECT CampoNome, CampoData
    FROM SuaTabela
    WHERE CampoData = (Select Max(CampoData) from SuaTabela)


    SELECT CampoNome, CampoData
    FROM SuaTabela
    WHERE CampoData = (Select Min(CampoData) from SuaTabela)

    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Dilson 28/11/2012, 11:31

    Cole lá e veja se atende:

    SELECT TabClientes.CÓD, TabClientes.Cliente, TabPedidos.CÓD, TabPedidos.[Data do Pedido]
    FROM TabClientes LEFT JOIN TabPedidos ON (TabClientes.CÓD=TabPedidos.[FK Clientes]) AND (TabClientes.CÓD=TabPedidos.[FK Clientes])
    WHERE (((TabPedidos.[Data do Pedido])=(Select Max([Data do Pedido]) from TabPedidos)))
    GROUP BY TabClientes.CÓD, TabClientes.Cliente, TabPedidos.CÓD, TabPedidos.[Data do Pedido]
    HAVING (((TabPedidos.[Data do Pedido]) Is Not Null));


    avatar
    Wesley Castro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 08/11/2011

    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Wesley Castro 28/11/2012, 21:08

    Dilson,

    Antes de aplicar as alterações no código, a consulta ficou da seguinte forma...
    TabClientes.CÓD.........Cliente.....TabPedidos.CÓD......Data do Pedido
    3455.....................CLIENTE A........................5489......12/11/2012 10:48:56
    3455.....................CLIENTE A........................5490......12/11/2012 10:50:43
    3455.....................CLIENTE A........................5654......19/11/2012 11:39:50
    4642.....................CLIENTE B........................5238......18/10/2012 17:39:04
    4642.....................CLIENTE B........................5390......5/11/2012 09:43:57
    6269.....................CLIENTE C.......................31784.....26/11/2012 17:44:52
    6269.....................CLIENTE C.......................31785.....26/11/2012 17:45:04
    6269.....................CLIENTE C.......................31786.....26/11/2012 17:45:10
    8693.....................CLIENTE D.......................31755.....26/11/2012 12:29:07
    8693.....................CLIENTE D.......................31756.....26/11/2012 12:30:02
    8693.....................CLIENTE D.......................31757.....26/11/2012 12:32:09
    32384...................CLIENTE E.......................31767.....26/11/2012 17:22:14
    32384...................CLIENTE E.......................31768.....26/11/2012 17:22:23
    32385...................CLIENTE F.......................31765.....26/11/201217:18:45
    32385...................CLIENTE F.......................31766.....26/11/2012 17:18:59



    Após aplicar as alterações sugeridas no código, de fato, não deu mais nenhum erro, porém a consulta executada retornou apenas um registro...
    WHERE (((TabPedidos.[Data do Pedido])=(Select Max([Data do Pedido]) from TabPedidos)))

    TabClientes.CÓD.........Cliente.....TabPedidos.CÓD......Data do Pedido
    4642.....................CLIENTE B........................5390......5/11/2012 09:43:57



    A intenção seria o retorno dos últimos registros de cada cliente...
    3455.....................CLIENTE A........................5654......19/11/2012 11:39:50
    4642.....................CLIENTE B........................5390......5/11/2012 09:43:57
    6269.....................CLIENTE C.......................31786.....26/11/2012 17:45:10
    8693.....................CLIENTE D.......................31757.....26/11/2012 12:32:09
    32384...................CLIENTE E.......................31768.....26/11/2012 17:22:23
    32385...................CLIENTE F.......................31766.....26/11/2012 17:18:59



    Pegando carona com o seu cógido, tentei fazer algumas tentativas e adptações com outros códigos que encontrei na net, porém estou errando em alguma parte e não consigo executar a consulta, veja como ficaram:

    WHERE (((TabPedidos.[Data do Pedido])=(Select TabClientes.CÓD, Max([Data do Pedido]) As UltimaData FROM TabPedidos GROUP BY TabClientes.CÓD)))
    ...ou, mesmo quando tento...
    WHERE (((TabPedidos.[Data do Pedido])=(Select TabClientes.CÓD, Max([Data do Pedido]) As UltimaData FROM TabPedidos)))

    Quando tento executar, a Consulta me retorna a seguinte mensagem:
    "Você gravou uma subconsulta que pode retornar mais de um campo sem usar a palavra reservada EXISTS na cláusula FROM da consulta principal. Reveja a Instrução SQL da subconsulta para que a mesma solicite apenas um campo."

    ...
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Dilson 29/11/2012, 15:06

    Wesleyc reproduzi a sua primeira exposição e funciona como deseja.

    A query aplica-se a duas tabelas, dá uma olhada:
    http://dl.dropbox.com/u/8080696/Integrado/query.accdb

    Se não conseguir adaptar e se desejar, pode colocar aqui o seu banco apenas com os objetos relacionais a essa query.
    avatar
    Wesley Castro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 08/11/2011

    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Wesley Castro 30/11/2012, 00:49

    Dilson,

    Tenho a impressão de que o relacionamento do bd poderá está impedindo, mas não estou certo disto...
    Segue o bd exemplificativo...
    Anexos
    [Resolvido]Como trazer o ultimo registro no banco AttachmentAcompanhamento de Pedidos.zip
    Segue bd exemplificativo...
    Você não tem permissão para fazer download dos arquivos anexados.
    (74 Kb) Baixado 37 vez(es)
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Dilson 30/11/2012, 12:29

    De acordo com os testes, minha conclusão é que sua tabela chamada TabClientes está danificada.

    Veja:
    Importei sua consulta para meu exemplo e ela respondeu corretamente o resultado consultando minhas tabelas.

    Depois importei as suas duas tabelas. Só passou a TabPedidos. Foi emitida uma critica informando que a tabela TabClientes não era suportada. Pois bem, criei a tabela TabClientes com os mesmos atributos e registros criados por você.

    Resultado: Sua consulta respondeu corretamente também, consultando agora as suas tabelas.

    Crie novamente a TabClientes com os mesmos atributos e registros e faça o teste.
    avatar
    Wesley Castro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 08/11/2011

    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Wesley Castro 1/12/2012, 13:22

    Dilson,

    Fiz alguns testes...
    Criei uma nova TabClientes,TabPedidos e também uma nova consulta no mesmo bd...
    Também criei um bd novo no qual criei Tabelas novas e também uma consulta nova, idênticas ao bd anterior...
    Como o resultado, independente de qual bd que utilizei, foi o mesmo... printei cada etapa de como foi feito, para saber onde eu estou errando...
    Utilizei o Access 2003, e também, o Access 2007, porém ainda só há retorno apenas de um cliente...
    Não sei o que pode está dando errado, mas mesmo assim... sou grato pela atenção!
    Segue os testes em anexo...
    Anexos
    [Resolvido]Como trazer o ultimo registro no banco Attachmentbdtestes.zip
    Segue anexo bd testes...
    Você não tem permissão para fazer download dos arquivos anexados.
    (844 Kb) Baixado 58 vez(es)
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Dilson 2/12/2012, 21:04

    Fazer isso numa unica consulta até onde cheguei vi não ser possivel pois existe alguns campos que impedem este filtro.

    No entanto consegui através de 3 query, Veja:

    Query_Geral : Consulta simples das tabelas Cliente e Pedido;

    Query_Max : Consulta que aplica o Max no campo Data

    Query_Resultado : Produto final. É esta que usará no seu relatório. Esta consulta busca dados na junção da Query_Geral com a Query_Max.

    Se precisar fazer outra consulta, basta copiar e colar a Query_Resultado e modificar os campos.

    https://dl.dropbox.com/u/8080696/Integrado/Query_Wesleyc.rar
    avatar
    Wesley Castro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 08/11/2011

    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Wesley Castro 3/12/2012, 16:22

    Dilson,

    Como bem ressaltado, esta consulta retornou o último pedido de cada cliente.
    Achei interessante também a forma de exibir/ocultar as horas do campo 'Data do Pedido', um ótimo detalhe...
    Valeu por compartilhar sua experiência.

    Nesse vasto mundo de códigos, percebo que será necessário também "cortar" o "pudim" com a "colher" ao invés da "faca"!
    Espero aperfeiçoar-me com as duas...
    Grato
    avatar
    Shadows
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 16/07/2015

    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Shadows 7/6/2016, 13:20

    Bom dia Dilson,

    Estou com o mesmo problema, porem quando fui clicar no link o mesmo foi expirado rs...

    pode me ajudar?!



    Obrigado!

    Conteúdo patrocinado


    [Resolvido]Como trazer o ultimo registro no banco Empty Re: [Resolvido]Como trazer o ultimo registro no banco

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 01:34