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]DLookup com mais de um critério

    avatar
    Ismael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 662
    Registrado : 11/12/2017

    [Resolvido]DLookup com mais de um critério Empty [Resolvido]DLookup com mais de um critério

    Mensagem  Ismael Silva em 17/5/2020, 00:44

    Boa noite,

    Como eu posso fazer para colocar dois critérios, na função abaixo, pois eu preciso trazer o valor de acordo com o Posto, e também com o período de competência, eu vi alguns exemplos aqui no Fórum, mas eu não consegui adaptar.

    Tentei assim, mas não deu certo.



    Val_Comp = DLookup("Total_Geral", "C_Periodo_Cobranca_2", "Unidade =" & "Posto1" & "Periodo_Competencia =" & "Per_Comp")

    Obrigado.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  DamascenoJr. em 17/5/2020, 01:04

    Tópico movido da sala de formulários por não ter relação com tal objeto.


    .................................................................................
    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
    Ismael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 662
    Registrado : 11/12/2017

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  Ismael Silva em 18/5/2020, 01:32

    Alguma sugestão de algum colega?

    Já li vários artigos, com dois e até três Critérios, mas tento, tento, e não rola.

    Obrigado.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  DamascenoJr. em 18/5/2020, 01:49



    .................................................................................
    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.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  DamascenoJr. em 18/5/2020, 01:57



    .................................................................................
    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
    Ismael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 662
    Registrado : 11/12/2017

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  Ismael Silva em 18/5/2020, 14:34

    Damasceno,

    Eu devo estar fazendo algo errado, pois olhei todos os tópicos que você me sugeriu, e não consegui adaptar, de forma a fazer funcionar. Disponibilizo o BD.

    No Evento após atualizar o Posto. Para habilitar esse campo, primeiro tem que informar o período de Datas, tipo de 01/05 até 10/05, para Posto Onze-Sapatão, o Periodo de Competência, é Decendio, ou seja, eu quero que me traga o valor deste decêndio, no campo Val_Comp. É sempre com os dois critérios, Posto e Período Competência.
    E quando o Posto selecionado, o período for Quinzena ou Mensal, deve obedecer os mesmo critérios.


    https://www.dropbox.com/s/oe31sx5t2me6cig/BD_Teste.accdb?dl=0
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  DamascenoJr. em 18/5/2020, 20:27

    Código:
    "[Unidade] = '" & Posto1 & "' And ([Periodo_Competencia] between #" & Format(Data_Inicio, "mm/dd/yyyy") & "# And #" & Format(Data_Fim, "mm/dd/yyyy") & "#)")


    .................................................................................
    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
    Ismael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 662
    Registrado : 11/12/2017

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  Ismael Silva em 18/5/2020, 21:11

    Damasceno, obrigado pela ajuda, no entanto, eu coloque assim, mas está dando erro:

    Val_Comp = DLookup("[Unidade] = '" & Posto1 & "' And ([Periodo_Competencia] between #" & Format(Data_Inicio, "mm/dd/yyyy") & "# And #" & Format(Data_Fim, "mm/dd/yyyy") & "#)")

    E outra dúvida, talvez eu estou entendo a lógica que você empregou, mas não deveria ter uma vinculação com a consulta?
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  DamascenoJr. em 18/5/2020, 21:25

    Mandei a parte do critério para que você substituísse apenas ela. O completo é

    Código:
    Val_Comp = DLookup("Total_Geral", "C_Periodo_Cobranca_2", "[Unidade] = '" & Posto1 & "' And ([Periodo_Competencia] between #" & Format(Data_Inicio, "mm/dd/yyyy") & "# And #" & Format(Data_Fim, "mm/dd/yyyy") & "#)")


    .................................................................................
    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
    Ismael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 662
    Registrado : 11/12/2017

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  Ismael Silva em 18/5/2020, 21:31

    Obrigado, testei aqui, e não apresentou nenhum erro ao atualizar o campo Posto1, mas não trouxe nenhum resultado no campo Val_Comp. Tem alguma ideia, o que poderia ser?
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  DamascenoJr. em 19/5/2020, 03:38

    Ok. Estou reanalisando seu código e sua consulta.


    .................................................................................
    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.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  DamascenoJr. em 19/5/2020, 04:00

    Veja assim

    Código:
    DLookup("Total_Geral ", "C_Periodo_Cobranca_2", "[Unidade] = '" & Posto1 & "' And [Periodo_Competencia] = '" & Me.Per_Comp & "' And Ano_Mes = '" & Format(Data_Inicio, "yyyy/mm") & "'")

    Uma observação: na consulta você tem um campo para marcar a competência, mas como o código deveria se comportar se o usuário filtrar datas de meses e/ou anos diferentes?

    A forma como botei a função dlookup acima está considerando só a competência informada no campo data inicial.


    .................................................................................
    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
    Ismael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 662
    Registrado : 11/12/2017

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  Ismael Silva em 19/5/2020, 13:37

    Bom dia Damasceno,

    O código deu erro de compilação, e quanto ao seu questionamento, o que ocorre, é que eu já determinei, os postos que são por Decêndio, e o período, ou seja, no form, eu coloco o período de datas, e o posto, já me diz o Tipo de cobrança, se por decêndio, quinzena, ou mensal, e o período de competência, se o 1º Decêndio, a Primeira Quinzena, e etc. Na verdade, a minha ideia, pra trazer o valor, o critério de datas não iria interferir, pois o critério, seria o período de competência, que este sim, traz de acordo com as datas, já pré definidas.

    De 1 à 10 - 1º Decêndio
    De 11 à 20 - 2º Decêndio
    De 21 à 30 ou 31 - 3º Decêndio

    De 1 à 15 - 1ª Quinzena
    De 16 à 30 ou 31 - 2ª Quinzena

    De 1 à 30 ou 31 - Mensal


    Vou vendo aqui, se encontro outras soluções.

    Obrigado.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  DamascenoJr. em 19/5/2020, 14:27

    Agora que vi que tem um espaço em “Total_Geral ”. Retirei-o. “Total_Geral”


    .................................................................................
    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
    Ismael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 662
    Registrado : 11/12/2017

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  Ismael Silva em 19/5/2020, 14:50

    Damasceno, ajustei aqui também, e não deu nenhum erro, mas não trouxe o resultado.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  DamascenoJr. em 19/5/2020, 17:04

    Estou pelo celular. Quando estiver pelo computador olharei a consulta e colocarei dados que confiram com os filtros.

    Certifique-que de que cada if de quinzena, decenio e mensal tenha o dlookup atribuindo o resultado ao val_comp


    .................................................................................
    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.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  DamascenoJr. em 19/5/2020, 22:51

    Funcionando
    [Resolvido]DLookup com mais de um critério Funcio10

    Código:
    Private Sub Posto1_AfterUpdate()

        Me.CBOCidade = Posto1.Column(2)
        Me.Per_Cob = Posto1.Column(3)

        Me.Dia_Data_Inicial = Format(Data_Inicio, "DD")
        Me.Dia_Data_Final = Format(Data_Fim, "DD")
       
        If Per_Cob = "Decêndio" And Dia_Data_Inicial >= 1 And Dia_Data_Final < 11 Then
            Me.Per_Comp = " 1º Decêndio"
        ElseIf Per_Cob = "Decêndio" And Dia_Data_Inicial >= 11 And Dia_Data_Final < 21 Then
            Me.Per_Comp = "2º Decêndio"
        ElseIf Per_Cob = "Decêndio" And Dia_Data_Inicial > 21 And Dia_Data_Final <= 31 Then
            Me.Per_Comp = "3º Decêndio"
        ElseIf Per_Cob = "Quinzenal" And Dia_Data_Inicial >= 1 And Dia_Data_Final < 16 Then
            Me.Per_Comp = "1ª Quinzena"
        ElseIf Per_Cob = "Quinzenal" And Dia_Data_Inicial > 15 And Dia_Data_Final <= 31 Then
            Me.Per_Comp = "2ª Quinzena"
        Else
            Me.Per_Comp = "Mensal"
        End If
       
        Me.CBONF.Enabled = True
        Me.CBONF.SetFocus
        Me.CBOFATURA.Enabled = True
           
        Val_Comp = DLookup("Total_Geral ", "C_Periodo_Cobranca_2", "[Unidade] = '" & Posto1 & "' And " & _
                                                                  "[Periodo_Competencia] = '" & Me.Per_Comp & "' And " & _
                                                                  "Ano_Mes = '" & Format(Data_Inicio, "yyyy/mm") & "'")
           
    End Sub


    .................................................................................
    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
    Ismael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 662
    Registrado : 11/12/2017

    [Resolvido]DLookup com mais de um critério Empty Re: [Resolvido]DLookup com mais de um critério

    Mensagem  Ismael Silva em 20/5/2020, 14:39

    Damasceno,

    Obrigado pelo tempo disponibilizado, vou testar aqui.

      Data/hora atual: 1/12/2020, 14:44