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]digitar um numero e converter em data

    Compartilhe

    Valdevino
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 22/05/2011

    [Resolvido]digitar um numero e converter em data

    Mensagem  Valdevino em 13/9/2018, 14:05

    Bom dia meus amigos e grandes mestres

    Mais uma vez venho recorrer a bondade dos senhores em nos ensinar. Por favor como faço para num campo nao acoplado do formulario digitar um algarismo que que ser de 1 a 31. E no outro campo ser preenchido automaticamente a data. Exemplo: no campo TxtDia eu digito por exemplo 10; no outro campo , o TxtData, é preenchido automaticamente a data do mes corrente.

    Obrigado

    Ricardo Monteiro
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 27/11/2017

    Re: [Resolvido]digitar um numero e converter em data

    Mensagem  Ricardo Monteiro em 13/9/2018, 16:03

    Faça assim:

    txtDia --> Campo do tipo Texto, com máscara de entrada numérica, tamanho 2

    txtData --> Campo do tipo data, formato data abreviada

    no evento afterUdate do campo txtDia insira:

    Código:

            Dim data As String
            data = txtDia.Value & "/" & Month(Date) & "/" & Year(Date)
            txtData.Value = CDate(data)


    Última edição por Ricardo Monteiro em 13/9/2018, 19:48, editado 1 vez(es)
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1228
    Registrado : 05/02/2010

    digitar um numero e converter em data

    Mensagem  good guy em 13/9/2018, 18:24

    Olá Ricardo,

    Veja se atende:

    Código:

    Public Function ConvEmData()
    On Error Resume Next
    Dim intValor As Integer
    Dim dteDataInicial As Date
    dteDataInicial = 1 & "/" & Month(Date) & "/" & Year(Date)

    intValor = Me.txtNum

    ConvEmData = DateAdd("d", intValor, dteDataInicial) - 1

    End Function

    Chame a função pelo evento Ao Atualizar na caixa de texto (txtNum):

    Código:
    Private Sub txtNum_AfterUpdate()
    Me.txtData = ConvEmData    'txtData é a caixa de texto onde será exibido a data correspondente
    End Sub
    Anexos
    ConverteNumEmDatas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (14 Kb) Baixado 2 vez(es)


    Última edição por good guy em 13/9/2018, 19:27, editado 6 vez(es)

    Valdevino
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 22/05/2011

    digitar um numero e converter em data

    Mensagem  Valdevino em 13/9/2018, 18:44

    Ola, Ricardo

    Infelizmente sou muito inexperiente em programação, e nao entendi como fazer. O que fiz foi colocar este codigo no evento apos atualizar no campo TxtDia. E nao funcionou, imagino que é por causa da falta de conhecimento.

    Valdevino
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 22/05/2011

    digitar um numero e converter em data

    Mensagem  Valdevino em 13/9/2018, 18:53

    Ola, Ricardo

    Muitissimo obrigado pela sua ajuda.Fiz o seguinte: mesmo nao entendendo muito de codigo, incluir o caracter & no seu codigo e ficou assim:
    TxtVencto.Value = TxtDia.Value & "/" & Month(Date) & "/" & Year(Date). Aí funcionou perfeitamente. Incluir seu codigo no evento Ao Perder Foco.

    mais uma vez muito obrigado,meu amigo


    Valdevino
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 22/05/2011

    digitar um numero e converter em data

    Mensagem  Valdevino em 13/9/2018, 18:55

    Resolvido.

    Ricardo Monteiro
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 27/11/2017

    Re: [Resolvido]digitar um numero e converter em data

    Mensagem  Ricardo Monteiro em 13/9/2018, 19:01

    Faça assim:

    txtDia --> Campo do tipo Texto, com máscara de entrada numérica, tamanho 2

    txtData --> Campo do tipo data, formato data abreviada

    no evento afterUdate do campo txtDia insira:

    Código:

        Dim data As String
        data = txtDia.Value & "/" & Month(Date) & "/" & Year(Date)
        txtData.Value = CDate(data)


    .................................................................................
    Ricardo Freitas Monteiro
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1228
    Registrado : 05/02/2010

    digitar um numero e converter em data

    Mensagem  good guy em 13/9/2018, 19:18

    Olá Ricardo e Valdevino,

    E se o usuário digitar um número acima de 31, por exemplo o número 45. Que data retornará? Você precisa uma utilizar uma função de Data mais eficaz.

    Ricardo Monteiro
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 27/11/2017

    Re: [Resolvido]digitar um numero e converter em data

    Mensagem  Ricardo Monteiro em 13/9/2018, 19:54

    Olá Good Guy,

    Na primeira resposta, parti do princípio que o perguntante sabia programação, pois o mesmo nomeou os Controles como txtDia e txtData, que segue as boas práticas.

    Quando o mesmo disse que não sabia, postei uma segunda mensagem dizendo para ele configurar o campo txtData como um campo do tipo data, com formato data abreviada para justamente evitar o erro que o Sr. mencionou. Fazendo isso, ao inserir uma data errada, o access acusa o erro.

    Por fim, após ler sua mensagem, achei por bem editar a primeira mensagem com o conteúdo da segunda para que o tópico fique melhor organizado para outras pessoas que o visitarem.

    Um abraço.

      Data/hora atual: 15/10/2018, 20:50