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


    [Resolvido]IIF ou Seimed

    avatar
    Convidado
    Convidado


    [Resolvido]IIF ou Seimed Empty [Resolvido]IIF ou Seimed

    Mensagem  Convidado 10/6/2014, 16:44

    Sou iniciante em Access.
    Em anexo coloquei uma BD com uma só tabela.
    O que eu quero é que no campo Status fosse realizada uma comparação com a data de HOJE com o campo Proxima_data e se for anterior a HOJE , colocar a palavra OK e se for posterior, a palavra VENCIDO.
    Parece simples mas IIF não funcionou. Tentei (depois de muito pesquisar ) SeImed e também não rolou.
    O que será?
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]IIF ou Seimed Empty Re: [Resolvido]IIF ou Seimed

    Mensagem  Noobezinho 10/6/2014, 18:08


    Meu amigo João, futuro programador de Access

    Tabelas são para armazenar dados, somente pra isso, uma ou mais tabelas formam  o próprio banco de dados ou a base de dados.
    Elas NUNCA deverão aparecer para um usuário.

    O que usamos como interface gráfica entre o usuário e as Tabelas, são janelas chamadas de formulários e as vezes consultas.

    Para fazer isso que deseja, poderá utilizar formulários.

    Procure na net ou na própria ajuda do Access , como criar um formulário.

    Grande Abraço

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Convidado
    Convidado


    [Resolvido]IIF ou Seimed Empty Não funcionou em formularios

    Mensagem  Convidado 10/6/2014, 18:45

    Como havia escrito, parece fácil, mas não é. Fiz no formulário também e não funciona.
    Alguém sabe como?
    avatar
    Convidado
    Convidado


    [Resolvido]IIF ou Seimed Empty Re: [Resolvido]IIF ou Seimed

    Mensagem  Convidado 10/6/2014, 18:54

    Olá, coloca na fonte do controle do campo status do formulário, isso:
    =SeImed([Proxima_data] < Data();"Vencido";SeImed([Proxima_data] > Data();"OK";Nulo))
    avatar
    Convidado
    Convidado


    [Resolvido]IIF ou Seimed Empty Ta quase la

    Mensagem  Convidado 10/6/2014, 20:29

    Beto Givoni,  tua solução foi beleza. Era para por na Fonte do controle e eu tava inserindo em outro lugar.
    Mas notei uma coisa: Se a data é anterior,  aparece "OK". Se a data é posterior aparece "Vencido". Mas quando a data coincide com HOJE (Data()) , o campo fica em branco.
    Então com base na sua orientação, fiz assim:
    =SeImed([Proxima_data]Data();"OK";SeImed([Proxima_data]=Data();"Vence Hoje";Nulo)))
    Não sei se é a forma mais elegante de fazer,mas esta funcionando.
    Obrigado pela ajuda.

    Parte 2 da duvida: olhando na TABELA, não aparece nada no campo Status, apesar do Formulário estar OK. Como jogar esse OK,VENCIDO, VENCE HOJE na tabela? Ou deve ficar em branco mesmo?
    avatar
    Convidado
    Convidado


    [Resolvido]IIF ou Seimed Empty Re: [Resolvido]IIF ou Seimed

    Mensagem  Convidado 10/6/2014, 22:11

    passei a instrução de acordo com com teu pedido de ajuda inicial, ou seja data anterior = "Ok" e posterior "vencido", para a situação atual é:

    =SeImed([Proxima_data] < Data();"Vencida";SeImed([Proxima_data] > Data();"OK";SeImed([Proxima_data] = Data();"Vence Hoje";Nulo)))

    quando se coloca a instrução na fonte do controle fica como um campo calculado e não armazena as informações na tabela, podes deixar desse jeito e se desejar ver esse resultado em um relatório ou consulta é só usar a mesma instrução, a vantagem é exatamente não armazenar para não inchar o banco com muita informação. Agora se desejas mesmo armazenar na tabela essas informações, coloca no evento atual do formulário, assim:

    Me.Status = IIf([Proxima_data] < Date, "Vencida", IIf([Proxima_data] > Date, "OK", IIf([Proxima_data] = Date, "Vence Hoje", Nulo)))
    avatar
    Convidado
    Convidado


    [Resolvido]IIF ou Seimed Empty IIF ou Seimed

    Mensagem  Convidado 11/6/2014, 12:24

    Ok Beto, resolvido. Obrigado pela ajuda. cheers 
    avatar
    Convidado
    Convidado


    [Resolvido]IIF ou Seimed Empty Re: [Resolvido]IIF ou Seimed

    Mensagem  Convidado 11/6/2014, 12:34

    Saudações do fórum pelo retorno e fechamento do tópico.

    Conteúdo patrocinado


    [Resolvido]IIF ou Seimed Empty Re: [Resolvido]IIF ou Seimed

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 6/5/2024, 13:41