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


4 participantes

    [Resolvido]Dlookup(Mês Atual/Posterior)

    APJesus
    APJesus
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 367
    Registrado : 21/09/2010

    [Resolvido]Dlookup(Mês Atual/Posterior) Empty Dlookup(Mês Atual/Posterior)

    Mensagem  APJesus 22/8/2011, 17:23

    Segie aí uma dúvida que está me inquietando e acredito ser facil para os feras aqui do fórum:

    Vamos Lá Tenho a Tab_Movtos, Tab_assistencia. Dentro desta tabela Movtos tenho o campo mes_comp e o campo ano_corrente. até ai tudo ok! dentro da tabela tab_assistencia tenho o cod_assist. que é o número de um beneficiário, também tudo ok.

    Criei um form_movimentos e queria comparar se o beneficiário já recebeu o benefício no mes designado do form. tenho a seguinte código após atualizar o campo Cod_assist:

    If Me.mes_comp = Dlookup("mes_comp","tab_movtos","cod_assist=" & Me!cod_assist) And Me.ano_corrente = Dlookup("ano_corrente","tab_movtos","cod_assist=" & Me!cod_assist) then
    Docmd.openform "atencao_jaretirou" ' Este é um form aviso'
    End If

    Acontece que funciona dentro do mesmo mês (ex: estamos no mês de agosto, se eu retirar 2 beneficios para o mesmo beneficiário no mês de agosto o código funciona, mas se eu quiser entregar o benefício do mês posterior ex: setembro concretizar e novamente lançar o mês de setembro aceita e não me avisa)

    Deduzi então que só me para quando estou no mês atual e na verdade queria que independente do mês caso houvesse mais de um benefício parasse)

    Fica aí o pedido de mais esta ajuda...
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  criquio 22/8/2011, 17:47

    Talvez se usar o Not IsNull funcione melhor:

    If Not IsNull(Dlookup("mes_comp","tab_movtos","cod_assist=" & Me!cod_assist & " And mes_comp=" & Me.Mes_comp & ")) And Not IsNull(Dlookup("ano_corrente","tab_movtos","cod_assist=" & Me!cod_assist & " And ano_corrente=" & Me.ano_corrente & ")) then
    Docmd.openform "atencao_jaretirou" ' Este é um form aviso'
    End If


    Terá que analisar se vai dar certo assim ou se terá que alterar algo nas aspas dos critérios. Isso vai depender do tipo do campo, se está como texto, como número ou como data.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    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]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  Alexandre Neves 22/8/2011, 17:50

    1º Parece-me estar a nomear os nomes dos controlos iguais aos nomes dos campos na tabela!!!
    2º A função DLookup procura o primeiro valor que satisfaça o critério. Mesmo que já tenha o mês indicado cadastrado, ele encontra um mês diferente através desta função. utilize a função DCount de forma a verificar em todos os registos que satisfaçam a condição
    APJesus
    APJesus
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 367
    Registrado : 21/09/2010

    [Resolvido]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  APJesus 22/8/2011, 17:55

    Criquio, Não funfou! Erro em tempo de execução '13'
    Tipo incompatíveis

    Dúvida! Onde entra o campo que ira comparar se já existe o cod_assist, neste códi que enviaste?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  criquio 22/8/2011, 18:06

    É o que eu disse sobre as aspas do critério. Tem que adequar à sua realidade. No DLookup, você precisa passar o código juntamente com o dia e o código juntamente com o ano. A ideia é a função verificar se já existe um registro com mesmo código e mesmo mês e mesmo ano já cadastrado na tabela.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    APJesus
    APJesus
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 367
    Registrado : 21/09/2010

    [Resolvido]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  APJesus 22/8/2011, 18:15

    Criquio, o mês é texto ano é número
    Pode verificar para mim?

    APJesus
    APJesus
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 367
    Registrado : 21/09/2010

    [Resolvido]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  APJesus 22/8/2011, 18:19

    Alexandre, tentei o Dcount e nada acontece... tô ficando doido com isso... Acredito que seja isto que o Criquio falou, pois tenho outros trabalhos com o Dlookup e funciona perfeito (pois ambos à comparar são texto"
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  vieirasoft 22/8/2011, 18:24

    Esses campos não deveriam ser data?
    APJesus
    APJesus
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 367
    Registrado : 21/09/2010

    [Resolvido]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  APJesus 22/8/2011, 18:29

    Vieira, vou alterar para ver como fica!

    Uma coisa que não mencionei e descuple a falha: este campo puxa como padrão a formatação: ANO_CORRENTE=Format(DATA_TRANSACAO,"yyyy")
    e o mês o mesmo: MES_COM=Format(DATA_TRANSACAO,"mmm")


    tem algo a ver?

    como estou puxando da data será que tenho que ter os campos como data!

    Peço desculpas a todos, mas estou ir à uma reunião aqui no trabalho e não posso faltar, mas uma vez agradeço a todos e mais tarde posto os testes...



    Última edição por APJesus em 22/8/2011, 18:31, editado 1 vez(es)
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  criquio 22/8/2011, 18:29

    Tente assim:

    If Not IsNull(Dlookup("mes_comp","tab_movtos","cod_assist=" & Me!cod_assist & " And mes_comp='" & Me.Mes_comp & "'")) And Not IsNull(Dlookup("ano_corrente","tab_movtos","cod_assist=" & Me!cod_assist & " And ano_corrente=" & Me.ano_corrente)) then
    Docmd.openform "atencao_jaretirou" ' Este é um form aviso'
    End If


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    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]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  Alexandre Neves 22/8/2011, 18:38

    Esqueceu-se de abordar a nomeação dos controlos e dos campos. pode ser isso
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  criquio 22/8/2011, 18:44

    Acredito que não seja os nomes de campos iguais porque tem o Me. para referenciar quando o campo está no formulário, enquanto que os nomes das tabelas já estão em um local do código que faz-se entender que se referencia a um campo de uma tabela.
    Mas caso o amigo queria tentar mudar os nomes dos campos do form, sinta-se à vontade Laughing


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    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]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  Alexandre Neves 22/8/2011, 18:55

    Amigo Criquio,

    Os meus cumprimentos. Afinal, andamos lado-a-lado sem nos cruzar.
    "Nomes de campos iguais" para mim significa ter mais que um campo com o mesmo nome. O que eu referi foi ter um campo designado, por exemplo, mes_comp e ter um controlo designado mes_comp (mesmo que esse controlo tenha o campo mes_comp como origem dos dados)
    APJesus
    APJesus
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 367
    Registrado : 21/09/2010

    [Resolvido]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  APJesus 22/8/2011, 23:33

    Criquão! Sei que não podemos escrever em caixa alta, mas este merece:

    FICOU EXTRAORDINÁRIO.(PERFECT), caiu como uma luva este código escrito.

    Fico muito agradecido e não esquecendo também o Alexandre que deu algumas dicas.

    Parabéns pelo fórum ter moderadores tão bons..

    Abraços... (RESOLVIDO)!!!

    Conteúdo patrocinado


    [Resolvido]Dlookup(Mês Atual/Posterior) Empty Re: [Resolvido]Dlookup(Mês Atual/Posterior)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 19:15