Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Utilizar fórmula do Excell no Access


soaresf

Pergunta

Bom dia,

Estou com um problema para criar no Access uma fórmula que tenha a mesma funcionalidade da fórmula abaixo que criei no Excell.

Segue a fórmula no Excell:

=SE(E(B4="";B2<HOJE());"Pendente";SE(E(B4>B2;B5="");"Em atraso";SE(E(B4<=B2;B5="";B4<>"");"Em andamento";SE(E(B5<=B3;B5<>"");"Concluído no prazo";SE(B2>HOJE();"";"Concluído fora de prazo")))))

Onde: B2 corresponde a: Início Previsto

B3 corresponde a: Fim Previsto

B4 corresponde a: Início real

B5 corresponde a: Fim Real

Criei uma tabela no Access com os campos informados e chamado Status que, de acordo com as datas informadas, deverá retornar como "Pendente", "Em atraso", "Em andamento", "Concluído no Prazo", "Concluído fora de prazo".

Tentei incluir a fórmula na Consulta utilizando "SeImed"; "IIF" e "E". Mas, não tive sucesso.

Conto com a ajuda de vocês!!!

Segue abaixo a fórmula utilizada no Access:

SeImed([Data de Início]="" E [DataDeInícioPrevista]<Data();"Pendente";SeImed([Data de Início]>[DataDeInícioPrevista] E [Data de Término]="";"Em atraso";SeImed([Data de Início]<=[DataDeInícioPrevista] E [Data de Término]="" E [Data de Início]<>"";"Em andamento";SeImed([Data de Término]<=[DataFinalPrevista] E [Data de Término]<>"";"Concluído no prazo";SeImed([DataDeInícioPrevista]>Data();"";"Concluído fora de prazo")))))

Editado por soaresf
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Fera da mesma forma que fez no access, só que você terá de fazer isso num procedimento de evento e em vez de utilizar o SE utilize o IIF ou ainda veja o tutorial abaixo e verá como utilizar o IF...ELSE/ELSEIF acho que isso lhe ajudará muito. Aguardo retorno para colocar resolvido no seu tópico.

http://www.techonthenet.com/access/functio...ced/if_then.php

Link para o comentário
Compartilhar em outros sites

  • 0

Mestre,

No tutorial há um item para uma condição. No meu caso, para o item ocorrer, é necessário que pelo menos 2 condições ocorram.

Quando coloco a fórmula abaixo aparece a seguinte mensagem: Tipo de dados não coincidente em expressão de critério. (Erro 3464).

SeImed([Data de Início]="" E [DataDeInícioPrevista]<Data();"Pendente";SeImed([Data de Início]>[DataDeInícioPrevista] E [Data de Término]="";"Em atraso";SeImed([Data de Início]<=[DataDeInícioPrevista] E [Data de Término]="" E [Data de Início]<>"";"Em andamento";SeImed([Data de Término]<=[DataFinalPrevista] E [Data de Término]<>"";"Concluído no prazo";SeImed([DataDeInícioPrevista]>Data();"";"Concluído fora de prazo"))))).

Grato!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado pela ajuda.

Inseri a expressão:

SeImed([DataInicio]=CData(0) E [DataDeInicioPrevista]<now();"Pendente";SeImed([DataInicio]>[DataDeInicioPrevista] E [DataTermino]=CData(0);"Em atraso";SeImed([DataInicio]<=[DataDeInicioPrevista] E [DataTermino]=CData(0) E [DataInicio]<>CData(0);"Em andamento";SeImed([DataTermino]<=[DataFinalPrevista] E [DataTermino]<>CData(0);"Concluído no prazo";SeImed([DataDeInicioPrevista]>now();"";"Concluído fora de prazo")))))

Não deu nenhum erro, mas, também não retornou nenhuma informação. Acredito que falta apenas um detalhe para chegar a solução final. Conto com a ajuda e desde já peço desculpas pelo incômodo.

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui inserindo a expressão abaixo na Fonte de Controle na Caixa de Texto do Campo "Status" no formulário:

=SeImed(ÉNulo([DataInicio]) E [DataDeInicioPrevista]<Agora();"Pendente";SeImed([DataInicio]>[DataDeInicioPrevista] E ÉNulo([DataTermino]);"Em atraso";SeImed([DataInicio]<=[DataDeInicioPrevista] E ÉNulo([DataTermino]) E [DataInicio]<>CData(0);"Em andamento";SeImed([DataTermino]<=[DataFinalPrevista] E ÉData([DataTermino]);"Concluído no prazo";SeImed([DataDeInicioPrevista]>Agora();"";"Concluído fora de prazo")))))

Obrigado!!!!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...