MaximoAccess

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

Obrigado

Administração do MaximoAccess

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]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos

    avatar
    AdilsonSantos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 30/07/2016

    [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos Empty [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos

    Mensagem  AdilsonSantos em 30/11/2019, 11:14

    Boa dia, galera

    A duvida: estou usando as funções Dlast ou DFirst sem critério e MS Access nao retorna / exibe ultimo ou primeiro campo de uma lista de produtos – ( ultima compra ). Ele puxa um valor aleatório ( vendo alguns vídeos de 2007 era pra puxar o ultimo ou primeiro registro da consulta/tabela mas na documentação da Microsoft informa se não utilizar critério a busca é aleatória).

    A dificuldade é colocar o critério nas funções Dlast ou DFirst (se realmente é necessário) para trazer para o formulário o dado do ultimo ou primeiro registro após uma consulta.
    As telas abaixo/anexas ilustram e exemplificam a duvida espero que facilite,

    Estou revisando / estudando Bdados Access e vou ficar mais frequente aqui para tirar dúvidas, fiz as pesquisas no fórum e não encontrei a minha duvida por isso estou abrindo novo tópico.

    Podem me ajudar ?
    Obrigado
    Adilson
    Anexos
    [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos AttachmentDuvida sem criterio Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista - consulta 4.docx
    Você não tem permissão para fazer download dos arquivos anexados.
    (589 Kb) Baixado 2 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2307
    Registrado : 22/11/2016

    [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos Empty Re: [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos

    Mensagem  DamascenoJr. em 30/11/2019, 16:17

    A função abaixo resolve

    Código:
    Public Function DPesquisaX(Campo As String, Tabela As String, Criterio As String, Ordenacao As String)

        Dim objRS As DAO.Recordset
        
        Set objRS = CurrentDb.OpenRecordset("select top 1 " & Campo & _
                                            " from " & Tabela & _
                                            IIf(Criterio <> "", " where " & Criterio, "") & _
                                            IIf(Ordenacao <> "", " order by " & Ordenacao, ""), 4, 4)
                                            
        DPesquisaX = objRS.Fields(0).Value
        
        Call objRS.Close: Set objRS = Nothing

    End Function

    Para ter o valor desejado bastaria
    Código:
    DPesquisaX("PrecoUnitarioProduto", "Cs_Produtos", "", "NomeCampoDataDeVenda DESC")


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    AdilsonSantos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 30/07/2016

    [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos Empty Re: [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos

    Mensagem  AdilsonSantos em 30/11/2019, 19:24

    Oi IvanJr, obrigado pelo retorno,

    Veja, estou tentando usar apenas as funções do Access , sem muito VBA, voce acha que nao é possivel solução apenas com os dos recursos que citei, Dlast ou DFirst ?



    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2307
    Registrado : 22/11/2016

    [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos Empty Re: [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos

    Mensagem  DamascenoJr. em 1/12/2019, 00:44

    Código:
    dlookup("PrecoUnitarioProduto","Cs_Produtos","NomeCampoDataDeVenda=#" & dmax("NomeCampoDataDeVenda","Cs_Produtos") & "#")

    Veja que fiz uso de duas funções internas. Duas viagens serão feitas para buscar informações. Eu não recomendo esta prática quando apenas uma viagem poderia ser feita.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    AdilsonSantos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 30/07/2016

    [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos Empty Re: [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos

    Mensagem  AdilsonSantos em 1/12/2019, 11:24

    Oi IvanJr, bom dia,

    Cara genial sua solução (mesmo que voce nao recomende pelas 2 viagens ) mas esta perfeito, acho ainda que a Microsoft deveria te pagar para editar os exemplos das funções VBA do access no site deles,

    ficou muito claro a solução que apresentou, o mais incrivel é voce acertar sem ter o BD para teste, sensacional.

    Fiz dezenas de testes aqui, observei que em alguns casos (quando o produto tem apenas 1 compra ) nao retorna o ultimo preço. ( o censurado é que é aleatorio nao tem uma logica que ocorre esse erro, simplesmente assim as vezes nao retorna o ultino preço, acho ainda que é do access mesmo ). Nos testes vou tentar descobrir por que isso ocorre , ou se é mesmo bug do sistema.

    Depois vou estudar a primeira solução que voce postou,

    muito agradecido mesmo, obrigado,

    vou encerrar o topico como resolvido

    Adilson
    avatar
    AdilsonSantos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 30/07/2016

    [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos Empty Re: [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos

    Mensagem  AdilsonSantos em 1/12/2019, 11:27

    IvanJr,

    Muito agradecido mesmo, obrigado,

    vou encerrar o topico como resolvido

    Adilson
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2307
    Registrado : 22/11/2016

    [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos Empty Re: [Resolvido]Duvida: sem criterio na função Dlast ou DFirst nao exibe ultimo ou primeiro campo de uma lista de produtos

    Mensagem  DamascenoJr. em 1/12/2019, 13:30

    O fórum agradece o retorno. Sucesso.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

      Data/hora atual: 25/10/2020, 07:20