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]Combinar AfterUpdate com DlookUp

    avatar
    Vinicius Machado
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 13/04/2012

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Combinar AfterUpdate com DlookUp

    Mensagem  Vinicius Machado 13/4/2012, 21:23

    Olá amigos, Sou novo no Forum e No access também e preciso de uma ajuda.

    Tenho uma tabela que faz o controle de ofertas (Matriz de Ofertas) da minha empresa. Essas ofertas são trazidas por representantes e no final do mês eu tenho que pagar a produção de cada representante. Quanto ao valor de cada oferta eu já criei algumas consultas e campos calculados que calcular o valor que pagarei por cada oferta. No entanto existe um outro critério para mensurar qual será a remuneração de cada representante. Que é a quantidade de parceiros novos que ele me trouxe.

    Existe um campo calculado na tabela Matriz de Ofertas, que calcula se a oferta está aprovada ou não. O que preciso é que um campo seja preenchido quando o campo APROVAÇÃO for atualizado, ou seja, quando o estatus desta oferta mudar para APROVADA este campo fará uma consulta se já existe alguma outra oferta aprovada deste parceiro para me dizer se ele é um parceiro novo ou não.

    Sei que teria que usar uma mistura de AfterUpdate (após atualizar) com Dlookup (DPESQUISA). Só que não sei exatamente onde fazer isso nem como. Posso fazer com que o campo da tabela Matriz de Ofertas seja preenchido com essa informação?

    Abraços a todos,
    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]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  criquio 13/4/2012, 21:31

    Olá, seja bem vindo ao forum! Você pode utilizar o DCount para contar a quantidade de aprovações. Em um campo desacoplado no formulário:

    Código:
    =SeImed(DCount("*";"NomeDaTabela";"Código=" & [Código] & " And NomeCampo='Aprovada') < 2;"Cliente novo";"Cliente antigo")


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

    avatar
    Vinicius Machado
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 13/04/2012

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Dúvida

    Mensagem  Vinicius Machado 13/4/2012, 21:37

    Olá, Obrigado pelas boas vindas e pela rapidez na resposta. Só fiquei algumas dúvidas.

    1º Onde eu coloco essa fórmula? No valor padrão do campo? Ou como código no VBA?

    2º O que é um campo não acoplado? Onde defino se ele será acoplado ou não?

    Abraços,
    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]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  criquio 13/4/2012, 21:57

    Quando você cria uma tabela e depois, utilizando o assistente, cria um formulário ou relatório com base nessa tabela, o assistente cria os campos já vinculados aos campos da tabela, ou seja, acoplados aos campos da tabela. Se você criar um novo campo nesse formulário ou relatório e não escolher nenhum campo da tabela para vinculá-lo, ele ficará desacoplado. Essa linha que passei acima, seria colocada diretamente em um campo desses, ou seja, estando o formulário em modo estrutura, você cria o campo e insere a instrução nele, como se estivesse escrevendo no campo.


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

    avatar
    Vinicius Machado
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 13/04/2012

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Vinicius Machado 13/4/2012, 22:25

    Tentei o que isse mas está me trazendo #Erro para todos os registros.

    Tentei colocar a expressão em um campo criado em uma consulta, ficou desta forma:

    NOVO?: SeImed([APROVAÇÃO]="APROVADA";SeImed(DContar("*";"Matriz de Ofertas";"PARCEIRO=" & [PARCEIRO])<2;"SIM";"NÃO");"N/A")


    Só que me traz erro para todos os registros que estão aprovados, com a seguinte mensagem:

    Erro de sintaxe (operador faltando) na expressão de consulta ‘PARCEIRO=JULIO CESAR’

    O que será que acontece?

    Abraços,
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Alexandre Neves 13/4/2012, 22:39

    Boa noite, Vinicius

    Com a permissão do Mestre Críquio:
    Será
    SeImed([APROVAÇÃO]="APROVADA";SeImed(DContar("*";"Matriz de Ofertas";"PARCEIRO='" & [PARCEIRO] &"'")<2;"SIM";"NÃO");"N/A")
    avatar
    Vinicius Machado
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 13/04/2012

    [Resolvido]Combinar AfterUpdate com DlookUp Empty VALEW ! RESOLVIDO

    Mensagem  Vinicius Machado 13/4/2012, 22:45

    Muito obrigado agora está funcionando perfeitamente. Só não entendi ao certo o que foi mudado. Percebi que incluiu uma aspas simples e uma dupla no final mas não entendi porque.

    Abraços,
    avatar
    Vinicius Machado
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 13/04/2012

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Outro problema

    Mensagem  Vinicius Machado 13/4/2012, 22:50

    Realmente agora está funcionando, mas me sobrou um outro problema. O que aconte, se tenhom uma oferta aprovada e a fórmula me diz que é um parceiro novo, se outra oferta deste parceiro for aprovada a oferta anterior que mostrava que era novo passa a ser considerado como parceiro antigo.

    Acho que teria que criar um campo, onde fosse preenchido com a data e hora do dia, assim que o campo APROVAÇÃO fosse alterado, e na contagem tería que considerar somente ofertas com data de aprovação anterior ao registro da nova oferta.

    Será que entenderam?

    Abraços,
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Alexandre Neves 13/4/2012, 22:57

    Por se tratar de dados do tipo String, deve ser envolvida por pelicas
    SeImed([APROVAÇÃO]="APROVADA";SeImed(DContar("*";"Matriz de Ofertas";"PARCEIRO='" & [PARCEIRO] &"'")<2;"SIM";"NÃO");"N/A")
    avatar
    Vinicius Machado
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 13/04/2012

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Adicionando um critério data

    Mensagem  Vinicius Machado 2/5/2012, 17:06

    Perfeito, usei a expressão:

    SeImed([APROVAÇÃO]="APROVADA";SeImed(DContar("*";"Matriz de Ofertas";"PARCEIRO='" & [PARCEIRO] &"'")<2;"SIM";"NÃO");"N/A")

    E deu tudo certo, estou apenas com mais um problema. Preciso incluir um novo critério. Preciso que conte todos os parceiros iguais como feita pela expressão acima, mas que a DATA APROVAÇÃO seja menor do que as datas dos campos contados, ou seja:

    Na expressão acima ele vai contar quantos parceiros iguais existem ao parceiro do registro atual desde que a situação do campor APROVADA seja igual a "APROVADA" correto? Menor que 2 significa que só existe um único registro com esse nome de parceiro em situação "APROVADA". que preciso agora é que seja contado todos os parceiros com nome igual, com situação "APROVADA" e que a data de aprovação (campo "DATA APROVAÇÃO") seja menor do que a do registro atual.

    Tentei fazer o seguinte, mas não deu certo:

    SeImed([APROVAÇÃO]="APROVADA";SeImed(DContar("*";"Matriz de Ofertas";"PARCEIRO='" & [PARCEIRO] & "' E DATA APROVAÇÃO<#" & [DATA APROVAÇÃO] & "#")<2;"SIM";"NÃO");"N/A")

    O que eu fiz de errado?

    Abraços,

    Vinicius Machado
    avatar
    Vinicius Machado
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 13/04/2012

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Inclusão de Critério com DATA

    Mensagem  Vinicius Machado 2/5/2012, 19:58

    Parece que estou no caminho certo, consegui fazer desta forma:

    SeImed([APROVAÇÃO]="APROVADA";SeImed(DContar("*";"Matriz de Ofertas";"PARCEIRO='" & [PARCEIRO] & "' E DATA APROVAÇÃO < #" & [DATA APROVAÇÃO] & "#")<2;"SIM";"NÃO");"N/A")

    Mas ao entrar na consulta aparece #erro no campo que contem esta fórmula, com a seguintE mensagem:

    Erro de sintaxe (operador faltando) na expressão de consulta 'PARCEIRO='NOME DO PARCEIRO' E DATA APROVAÇÃO < #01/05/2012 12:06:19#'

    Estou tentando de todas as formas conseguir finalizar sem ter que ficar perguntando, través de outras pesquisas na internet e de tentativas e erro, mas não estou conseguindo.

    Onde que estou errando?

    Abraços,

    Vinicius Machado
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Alexandre Neves 2/5/2012, 21:59

    Boa noite, Vinicius

    Além de perguntar, vá vendo outras dúvidas solucionadas no fórum, pois já foi abordado várias vezes que a melhor forma de nomear é sem espaços mas, no caso de ter espaços, deve ser referido envolvendo-o com parêntisis rectos. Assim, indique [DATA APROVAÇÃO]
    avatar
    Vinicius Machado
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 13/04/2012

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Vinicius Machado 2/5/2012, 22:15

    Obrigado pela dica. Mas mesmo utilizando os parentesis retos [DATA APROVAÇÃO], continua dando o mesmo erro.

    Abraços,

    Vinicius Machado


    Última edição por Vinicius Machado em 2/5/2012, 22:20, editado 1 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Alexandre Neves 2/5/2012, 22:20

    Explique de forma integral o funcionamento do código
    avatar
    Vinicius Machado
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 13/04/2012

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Vinicius Machado 2/5/2012, 22:34

    Tenho uma tabela (Matriz de Ofertas) com alguns campos:

    PARCEIRO
    APROVAÇÃO
    DATA APROVAÇÃO

    O que preciso é que seja contado quantos parceiros iguais ao registro atual com o campo APROVAÇÃO de valor "APROVADA" existem na tabela. Se exiteirem menos do que 2 registros então o valor retorna "SIM" (Parceiro novo), caso contrário retorna "NÃO" (Parceiro antigo). Então a fórmula vai contar na tabela em todos os registros se existe algum PARCEIRO igual que esteja com o status de "APROVADA". Até aqui tudo bem, porém preciso que ele conte somente os parceiros aprovados com a DATA APROVAÇÃO menor do que o registro atual, desta forma quando incluir um mesmo parceiro com status de aprovado, o registro anterior continue retornando "SIM" (Parceiro novo) pois a data de aprovação deste novo registro é maior do que o registro antigo, se for uma data menor, então deve voltar "NÃO" (parceiro antigo)

    Segue a fórmula que estou usando:

    SeImed([APROVAÇÃO]="APROVADA";SeImed(DContar("*";"Matriz de Ofertas";"PARCEIRO='" & [PARCEIRO] & "' E [DATA APROVAÇÃO]<=#" & [DATA APROVAÇÃO] & "#")<2;"SIM";"NÃO");"N/A")

    Abraços,
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Alexandre Neves 2/5/2012, 22:41

    Apesar de eu não utilizar o SeImed, aparentemente, devria funcionar o código apresentado. Pode ter que verificar a formatação da data
    SeImed(DContar("*";"Matriz de Ofertas";"PARCEIRO='" & [PARCEIRO] & "' E [DATA APROVAÇÃO]<=#" & format([DATA APROVAÇÃO],"mm-dd-yyyy") & "#")<2;"SIM";"NÃO");"N/A")
    avatar
    Vinicius Machado
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 13/04/2012

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Vinicius Machado 3/5/2012, 01:55

    Já havia pensado nesta questão da data e tentei o format() como você sugeriu, mas mesmo assim não funcionou.

    Vou continuar pesquisando e se conseguir resolver eu posto aqui para compartilhar.

    Abraços.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Alexandre Neves 3/5/2012, 10:21

    Bom dia, Vinicius

    Já tentou format([DATA APROVAÇÃO],"dd-mm-yyyy")
    avatar
    Vinicius Machado
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 13/04/2012

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Vinicius Machado 3/5/2012, 14:42

    Já havia tendado as duas formas e continua com o memso erro. Não sei mais o que fazer...

    Abraços
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Alexandre Neves 3/5/2012, 16:44

    Ou será
    SeImed(DContar("*";"Matriz de Ofertas";"PARCEIRO='" & [PARCEIRO] & "' E [DATA APROVAÇÃO]<=#" & format([DATA APROVAÇÃO],"mm-dd-yyyy") & "#")<2;"SIM";"NÃO")
    avatar
    Vinicius Machado
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 13/04/2012

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Vinicius Machado 3/5/2012, 17:24

    Foi exatamente assim que tentei, mas nenhuma das opções deu certo (mm-dd-yyyy ou dd-mm-yyyy)

    Abraços
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Alexandre Neves 30/7/2012, 19:06

    Tópico resolvido, por falta de retorno atempado.

    Conteúdo patrocinado


    [Resolvido]Combinar AfterUpdate com DlookUp Empty Re: [Resolvido]Combinar AfterUpdate com DlookUp

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 20:51