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]Access corrigindo a data automaticamente.

    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 18/06/2012

    [Resolvido]Access corrigindo a data automaticamente. Empty [Resolvido]Access corrigindo a data automaticamente.

    Mensagem  Thel Ter 11 Set - 18:14

    Boa noite,

    Tenho um campo chamado 'DATA' com máscara de entrada (dd/mm/aaaa) em um formulário. O problema é que quando digito uma data inexistente nesse campo, por exemplo 12/13/2018, o Access "corrige" para 13/12/2018.
    Teoricamente isso não era para acontecer pois tanto o banco de dados quanto o controle 'DATA' do formulário está configurado para NÃO USAR AUTOCORREÇÃO. Além disso tenho este código no evento AO OCORRER ERRO do formulário:
    ===============================================================
    Código:
    Private Sub Form_Error(DataErr As Integer, Response As Integer)

    ' AUTORES: Microsoft e Eu

    Const INPUTMASK_VIOLATION = 2279 'SUBSTITUI A MENSAGEM DE ERRO PADRÃO DA MÁSCARA POR INSUFICIÊNCIA DE NÚMEROS DE CARACTERES
    Const DATAVALUE_VIOLATION = 2113 'SUBSTITUI A MENSAGEM DE ERRO PADRÃO DA MÁSCARA POR INSERÇÃO DE DATA INEXISTENTE

    '::INÍCIO DO CÓDIGO PARA MÁSCARA DE ENTRADA ERRADA, QUANDO SE DIGITA NÚMERO INSUFICIENTE DE CARACTERES::
    If DataErr = INPUTMASK_VIOLATION Then
    Select Case Screen.ActiveControl.Name

    Case "Data"
    Beep
    MsgBox "DATA INCORRETA!", vbCritical, "ERRO"
    Data.Undo
    Data = Null

    Case Else
    End Select
    Response = acDataErrContinue 'INIBE MENSAGEM PADRÃO DE ERRO DO ACCESS
    End If
    '::FIM DO CÓDIGO PARA MÁSCARA DE ENTRADA ERRADA, QUANDO SE DIGITA NÚMERO INSUFICIENTE DE CARACTERES::


    '::INÍCIO DO CÓDIGO PARA MÁSCARA DE ENTRADA ERRADA, QUANDO SE DIGITA UMA DATA INEXISTENTE. EXEMPLO: 12/88/1988::
    If DataErr = DATAVALUE_VIOLATION Then
    Select Case Screen.ActiveControl.Name

    Case "Data" 'CAMPO 1
    Beep
    MsgBox "DATA INCORRETA!", vbCritical, "ERRO"
    Data.Undo
    Data = Null
           
    Case Else
    End Select
    Response = acDataErrContinue 'INIBE MENSAGEM DE ERRO PADRÃO DO ACCESS
    End If
    '::FIM DO CÓDIGO PARA MÁSCARA DE ENTRADA ERRADA, QUANDO SE DIGITA UMA DATA INEXISTENTE. EXEMPLO: 12/88/1988::

    End Sub
    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]Access corrigindo a data automaticamente. Empty Re: [Resolvido]Access corrigindo a data automaticamente.

    Mensagem  Alexandre Neves Qua 12 Set - 14:14

    Boa tarde

    Ao tempo que anda pelo fórum, já falámos tantas vezes para respeitar os nomes reservados do Access
    Uma das razões pode ser essa

    Deve utilizar a conversão de data: Format(CampoData,"mm-dd-yyyy")


    .................................................................................
    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
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 18/06/2012

    [Resolvido]Access corrigindo a data automaticamente. Empty Re: [Resolvido]Access corrigindo a data automaticamente.

    Mensagem  Thel Qua 12 Set - 14:37

    Boa tarde, Alexandre.

    Verdade, um detalhe simples que me passou despercebido: não usar nomes reservados ao Access nos controles.

    OK. Já fiz a correção: mudei o nome do controle de 'Data' para 'DataCad', mas infelizmente o problema persiste.

    Esse campo 'DataCad' do formulário tem como origem de dados o campo 'DataCad' de uma tabela, ou seja, ele está acoplado. E esse campo 'DataCad' da tabela tem como tipo de dados Data/Hora. Será que é isso? Terei que mudar o tipo de dados para texto antes?
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Access corrigindo a data automaticamente. Empty Re: [Resolvido]Access corrigindo a data automaticamente.

    Mensagem  Assis Qua 12 Set - 14:47

    Thel

    Poste aqui só o form e a tabela.


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 18/06/2012

    [Resolvido]Access corrigindo a data automaticamente. Empty Re: [Resolvido]Access corrigindo a data automaticamente.

    Mensagem  Thel Qua 12 Set - 15:15

    OK, Assis.
    Segue o meu banco de dados com apenas a tabela e o formulário.
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Access corrigindo a data automaticamente. Empty Re: [Resolvido]Access corrigindo a data automaticamente.

    Mensagem  Assis Qua 12 Set - 16:28

    Thel

    Nas minhas Bds uso sempre um calendário para digitar datas e nunca me apercebi deste caso.

    Mas so acontece ao digitar 12/13/2018, o access altera porque o mês 13 não existe.

    No meu PC esta a acontecer o mesmo.


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 18/06/2012

    [Resolvido]Access corrigindo a data automaticamente. Empty Re: [Resolvido]Access corrigindo a data automaticamente.

    Mensagem  Thel Qua 12 Set - 16:41

    Oi Assis!

    Eu não uso calendário, porque não o acho prático.
    Esse problema é muito comum, mesmo o usuário marcando que não quer a autocorreção no campo o Access não obedece. Eu acho isso uma falha do Access, deveria obedecer à regra.
    Já testei até uma função que um usuário criou, mas o código é enorme e não é nada prático.

    Eu tive até uma ideia, mas não sei como colocá-la em prática: criar um código que exiba uma mensagem de erro e desfaça a digitação se:

    1. Os dois primeiros números, que representam os dias, forem maior que 31;
    2. O terceiro e quarto número, que representam os meses, forem maior que 12.

    Vou aguardar 1 ou 2 dias para ver se alguém achou uma solução.

    De qualquer maneira valeu a força e a tentativa!
    avatar
    Thel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 114
    Registrado : 18/06/2012

    [Resolvido]Access corrigindo a data automaticamente. Empty Re: [Resolvido]Access corrigindo a data automaticamente.

    Mensagem  Thel Qui 20 Set - 8:16

    Dei o tópico como resolvido, infelizmente não achei a solução. Isso é uma falha que o Access deveria ter sido resolvida.

    Conteúdo patrocinado


    [Resolvido]Access corrigindo a data automaticamente. Empty Re: [Resolvido]Access corrigindo a data automaticamente.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Sex 22 Nov - 7:32