MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Codigo campos data

    Compartilhe

    matutano
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 355
    Registrado : 16/05/2011

    [Resolvido]Codigo campos data

    Mensagem  matutano em 9/6/2018, 17:56

    Boa tarde a todos,

    Tenho um formulário com um campo DtPedido e outro campo no mesmo formulário DtSuspensa

    O que eu desejava era colocar um código no formulario, em que o utilizador para suspender um ordem Serviço no campo DtSuspensa, seria obrigado a colocar a data referente ao mês e Ano do campo Dtpedido. O dia DO MÊS pode ser superior e nunca inferior á DtPedido.


    Obrigado
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Codigo campos data

    Mensagem  Alexandre Neves em 9/6/2018, 20:42

    Boa noite,
    Já pensou se a DtPedido for 30-4-2018?
    Pense nas limitações que impõe


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    matutano
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 355
    Registrado : 16/05/2011

    Re: [Resolvido]Codigo campos data

    Mensagem  matutano em 9/6/2018, 23:42

    Se tiver que ser suspensa, tem de ser no dia 30/04/2018, se não for suspensa neste dia já não pode ser suspensa no sistema, tem de ficar em aberto
    Tudo isto tem haver com as contagem mensais de ordens pedidas e ordens executada etc. etc.no caso da data 30/05/2018 quando contar as pedidas irá aparecer também as suspensas do referido mês, estas contagem são todas retiradas das datas pedidas; executadas; suspensas e anuladas
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Codigo campos data

    Mensagem  Alexandre Neves em 10/6/2018, 09:49

    Bom dia
    No acontecimento AoSair do controlo TxtDtSuspensa coloque

    if isdate(TxtDtSuspensa) then
    if TxtDtSuspensa>DateSerial(Year(DtPedido), Month(DtPedido ) + 1, 0) then
    txtDtSuspensa=null
    msgbox "A data não é válida."
    docmd.cancelevent
    end if
    end if


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    matutano
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 355
    Registrado : 16/05/2011

    Re: [Resolvido]Codigo campos data

    Mensagem  matutano em 10/6/2018, 14:15

    Boa tarde, antes de mais obrigado.

    O código está a trabalhar mas, tem um senão.

    se por acaso a data do pedido for 25/05/2018 e por qualquer motivo o utilizador colocar no campo txtDtSuspensa 15/05/2018 o código aceita.

    o pretendido é que não aceite o dia (15), mas sim o dia igual a 25/05/2018 ou superior até 31/05/2018.

    e porquê,... porque no sistema tenho um campo que conta os dias entre a txtDtsupensa e a txtDtInicio da Obra. (DtInicio é um campo que existe no BD)

    matutano
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 355
    Registrado : 16/05/2011

    Re: [Resolvido]Codigo campos data

    Mensagem  matutano em 10/6/2018, 14:47

    Não sei se o código está correto, mas está trabalhar como desejado se não for assim corrija-me

    Obrigado

    Private Sub DtSuspensa_Exit(Cancel As Integer)
    If IsDate(DtSuspensa) Then
    If DtSuspensa > DateSerial(Year(DtPedido), Month(DtPedido) + 1, 0) Then
    DtSuspensa = Null
    MsgBox "A data não é valida."
    DoCmd.CancelEvent
    End If
    End If

    If IsDate(DtSuspensa) And IsDate(DtPedido) Then
    If DtSuspensa < DtPedido Then
    DtSuspensa = Null
    MsgBox "A data não é valida."
    DoCmd.CancelEvent
    End If
    End If

    End Sub
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Codigo campos data

    Mensagem  Alexandre Neves em 10/6/2018, 15:58

    Tinha-me esquecido que DtSuspensa não podia ser anterior
    O seu código está certo

    Para ser mais simples,
    if isdate(TxtDtSuspensa) and isdate(TxtDtPedido) then
    if TxtDtSuspensa>DateSerial(Year(DtPedido), Month(DtPedido ) + 1, 0) or TxtDtSuspensatxtDtSuspensa=null
    msgbox "A data não é válida."
    docmd.cancelevent
    end if
    end if


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    matutano
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 355
    Registrado : 16/05/2011

    Re: [Resolvido]Codigo campos data

    Mensagem  matutano em 10/6/2018, 19:42

    Muito Obrigado

    matutano
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 355
    Registrado : 16/05/2011

    Re: [Resolvido]Codigo campos data

    Mensagem  matutano em 10/6/2018, 19:43

    Muito Obrigado esqueceu-me o resolvido

      Data/hora atual: 19/11/2018, 03:39