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


3 participantes

    [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido

    avatar
    Lucio Warley Lippi
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 07/01/2017

    [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido Empty [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido

    Mensagem  Lucio Warley Lippi Sáb 07 Jan 2017, 20:57

    Olá pessoal...

    Sou novato no Forum MaximoAccess, apesar de sempre consultar vários tópicos fora do Forum pelas ferramentas tradicionais de busca.

    Agradeço, portanto, as infindáveis colaborações!

    Mas como sempre é tempo de aprendizado, segue a seguinte questão:

    Tenho duas consultas:

    1ª) Me.Valor = DMax("[Valor]", "Demonstrativo da despesa", "[Ano]= " & Me.BuscaAno.Column(1) & " And [Mês]=" & Me.BuscaMês.Value)

    e

    2ª) Me.Conta = DLookup("[Conta]", "Demonstrativo da despesa", "[Valor]=" & Me.Valor & "")

    Ocorre que quanto o valor da 1ª consulta retorna valor com casas decimais com valor igual a zero (0,00) a 2ª consulta retorna ao valor esperado; mas quanto a 1ª consulta retorna valores decimais maiores que zero, a 2ª consulta não retorna valor.

    Tentei formatar (FormatNumber; CCur; FormatNumber; defini variável do tipo Currency) o valor retornado da 1ª consulta mas não obtive êxito para no resultado da 2ª consulta.

    Na expectativa de uma possível solução, antecipo agradecimentos.

    Lucio
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 788
    Registrado : 29/08/2012

    [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido Empty Re: [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido

    Mensagem  Clebergyn Sáb 07 Jan 2017, 22:14

    Ola Lucio

    tente assim e veja se dá certo

    Me.Valor = CDbl(DMax("[Valor]", "Demonstrativo da despesa", "[Ano]= " & Me.BuscaAno.Column(1) & " And [Mês]=" & Me.BuscaMês.Value))

    Me.Conta = DLookup("[Conta]", "Demonstrativo da despesa", "[Valor]=" & Cdbl(Me.Valor))

    ou assim

    Me.Conta = DLookup("[Conta]", "Demonstrativo da despesa", "[Valor]=" & replace(Me.Valor,",","."))
    avatar
    Lucio Warley Lippi
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 07/01/2017

    [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido Empty Respondendo

    Mensagem  Lucio Warley Lippi Dom 08 Jan 2017, 01:16

    Prezado clebergyn;

    Agradeço seu interesse, mas não funcionou... Testei as duas formas e infelizmente não resultou no valor esperado.

    Ainda persiste a situação inicial.

    Continuarei tentando outras alternativas...

    Ao pesquisar aqui no Forum constatei que há inúmeras demandas referentes à funçao DLookup e percebi que o problema, na maioria das vezes, é a sintaxe do critério de busca. Acho que este é o meu caso. Talvez eu não esteja compondo a consulta de forma adequada.

    Obrigado pela sua colaboração!

    Grato!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido Empty Re: [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido

    Mensagem  FabioPaes Dom 08 Jan 2017, 02:06

    Amigo, seu problema esta aqui no criterio do 2 Dlookup
    "[Valor]=" & Me.Valor & ""
    Veja que vc diz que o campo da tabela Valor é Igual ao campo me.valor que foi preenchido no 1 Dlookup.

    Ou seja so retornará dados se a Comparação for positiva...

    10,00 = 10,00
    10,00<>10,000000001

    Então o que recomendo e verificar o campo Valor da tabela "Demonstrativo da despesa" a fim de identificar como os dados estão sendo armazenados la... Abra a tabela e modo normal, clique no campo Valor, e veja la quantos campos tem apos a virgula... Depois veja em modo designer esse campo e veja como ele esta formatado...

    Então, formate o primeiro Dlookup de cordoo com o que estiver na tabela...


    Se nao der certo, poste aqui o exemplo...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 788
    Registrado : 29/08/2012

    [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido Empty Re: [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido

    Mensagem  Clebergyn Dom 08 Jan 2017, 02:09

    assim funcionou aqui
    dim vlr
    vlr = DMax("[Valor]", "Demonstrativo da despesa", "[Ano]= " & Me.BuscaAno.Column(1)  & " And [Mês]=" & Me.BuscaMês.Value)

    Me.conta = DLookup("[Conta]", "Demonstrativo da despesa", "[Valor]=" & Replace(Vlr, ",", ".") & "")

    a função replace é a mesma "substituir", ela substitue a "," pelo "." pois o sistema na tabela so enxerga numeros
    com ponto, tipo 15.5 e nao 15,5

    veja no anexo,
    agora se o campo buscaano.column(1) e buscamês for tipo texto ai tem que colocar as ' '
    Anexos
    [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido Attachmentbanco teste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 9 vez(es)
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido Empty Re: [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido

    Mensagem  FabioPaes Dom 08 Jan 2017, 02:17

    Bem lembrado clebergyn O VBA separa as casas decimais por . e nao por , Esse pode realmente ser o problema do Amigo!

    Aguardaremos o Retorno!!!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Lucio Warley Lippi
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 07/01/2017

    [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido Empty O conhecimento traz felicidade.

    Mensagem  Lucio Warley Lippi Dom 08 Jan 2017, 08:54

    Prezados FabioPaes e clebergyn;

    Seguindo a sugestão do FabioPaes ... fui conferir e constatei que o campo "Valor" na tabela "Demonstrativo da despesa" tem como Formato= Unidade monetária com Casa decimais= 2.

    Aproveitei e conferi a mesma condição do campo "Valor" do formulário. Tudo ok! Agradeço sua colaboração, afinal; os detalhes podem emperrar uma ideia. Valeu!!


    A solução do meu problema veio pela orientação do clebergyn.

    Refiz a linha, conforme a última e valiosa sugestão e tudo passou a funcionar como esperado!!!!! Na minha primeira tentativa devo ter feito algo errado. Mas na segunda tentativa... tudo ok!! Obrigado clebergyn!!!

    A função Replace substituiu o ponto "." pela vírgula ","; fazendo com que a comparação seja feita!!!

    Aproveito para agradecer novamente ao clebergyn e ao FabioPaes, ambos foram prestativos!

    Valeu!!!
    avatar
    Lucio Warley Lippi
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 07/01/2017

    [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido Empty Concatenando DMax no critério de DLookup Problema Resolvido

    Mensagem  Lucio Warley Lippi Dom 08 Jan 2017, 09:02

    Problema resolvido!!

    Conteúdo patrocinado


    [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido Empty Re: [Resolvido]Concatenando DMax no critério de DLookup Problema resolvido

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Ter 08 Out 2024, 14:35