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]Data Por Extenso

    Compartilhe
    avatar
    raijeweb
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 01/04/2016

    [Resolvido]Data Por Extenso

    Mensagem  raijeweb em 8/2/2019, 19:09

    Eu Tenho um modulo e um formulário e gostaria que ele me mostrasse o valor por extenso atualmente ele me mostra assim:
    08/02/2019 (Ao(s) 08 dias do mês de fevereiro do ano de dois mil e dezenove)

    E quero que mostre assim:


    08/02/2019 (Ao(s) 8 dias do mês de fevereiro do ano de dois mil e dezenove) assim que está mostrando e não é assim que quero e sim com o está abaixo
    08/02/2019 (Ao(s) Oito dias do mês de fevereiro do ano de dois mil e dezenove)
    veja o o modelo que quero fazer em anexo

    https://www.dropbox.com/home?file_subpath=%2FVencimento.mdb&preview=Vencimento.rar
    FranklinJSP
    FranklinJSP
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 165
    Registrado : 25/02/2016

    Re: [Resolvido]Data Por Extenso

    Mensagem  FranklinJSP em 12/2/2019, 19:43

    Arquivo não existe no Dropbox


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10420
    Registrado : 04/11/2009

    Re: [Resolvido]Data Por Extenso

    Mensagem  JPaulo em 13/2/2019, 11:32



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...
    avatar
    raijeweb
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 01/04/2016

    Re: [Resolvido]Data Por Extenso

    Mensagem  raijeweb em 13/2/2019, 12:50

    Oi bom dia obrigado por tentar me ajudar mas não é assim que eu quero
    Acho que não soube explicar é assim:

    Eu tenho uma tabela com o campo vencimento contém o dado 13/02/2018 formato data hora completa
    um formulário com um campo vencimento vindo da tabela e uma caixa de de texto com com o nome txtextenso
    quero informar na txtextenso no referido formulário o seguinte valor (Ao(s) 13 dias de Fevereiro do ano de dois mil e dezoito

    Estou trabalhando com office 2010

    Eu acho que agora me expliquei melhor qual o meu objetivo

    meus agradecimentos
    Silvio
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4211
    Registrado : 20/04/2011

    Re: [Resolvido]Data Por Extenso

    Mensagem  Silvio em 13/2/2019, 17:04

    ...


    Última edição por Silvio em 13/2/2019, 17:07, editado 1 vez(es)
    Silvio
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4211
    Registrado : 20/04/2011

    Re: [Resolvido]Data Por Extenso

    Mensagem  Silvio em 13/2/2019, 17:06

    Boa tarde....

    Copie e cole o código em um módulo, salve.
    É o mesmo código que o JPaulo te passou


    Fiz apenas uma adaptação, portanto...siga as instruções que ele passou na mensagem do link

    Código:
    Function DataExtenso(dtData As Date) As String
    Dim strRet As String
        
        strRet = vbNullString
     strRet = IIf(Day(dtData) = 1, "primeiro","(Ao(s))   " &  NumeroPorExtenso(Day(dtData))) & " de " & LCase(Format(dtData, "mmmm")) & " de " & NumeroPorExtenso(Year(dtData))
        DataExtenso = strRet
        

    End Function

    Function NumeroPorExtenso(lngNumero As String) As String
    Dim arrUnidade() As String
    Dim i As Long
    Dim strNumeroReverso As String
    Dim strRet As String
    Dim strAux As String

        arrUnidade() = Split(" um dois três quatro cinco seis sete oito nove")
        
        strNumeroReverso = StrReverse(lngNumero)
        For i = 1 To Len(CStr(lngNumero))
            strAux = vbNullString
            Select Case i
                Case 1 'UNIDADE
                    strRet = arrUnidade(Mid(strNumeroReverso, 1, 1)) & strRet
                Case 2 'Dezena
                    Select Case Mid(strNumeroReverso, 2, 1)
                        Case 0
                            strAux = strRet
                        Case 1
                            Select Case Mid(strNumeroReverso, 1, 1)
                                Case 0: strAux = "dez"
                                Case 1: strAux = "onze"
                                Case 2: strAux = "doze"
                                Case 3: strAux = "treze"
                                Case 4: strAux = "quatorze"
                                Case 5: strAux = "quinze"
                                Case 6: strAux = "dezesseis"
                                Case 7: strAux = "dezessete"
                                Case 8: strAux = "dezoito"
                                Case 9: strAux = "dezenove"
                            End Select
                            Case 2: strAux = "vinte"
                            Case 3: strAux = "trinta"
                            Case 4: strAux = "quarenta"
                            Case 5: strAux = "cinquenta"
                            Case 6: strAux = "sessenta"
                            Case 7: strAux = "setenta"
                            Case 8: strAux = "oitenta"
                            Case 9: strAux = "noventa"
                    End Select
                    If (Mid(strNumeroReverso, 2, 1) > 1) And (Mid(strNumeroReverso, 1, 1) > 0) Then
                        strRet = strAux & " e " & strRet
                    Else
                        strRet = strAux
                    End If
                Case 3
                    Select Case Mid(strNumeroReverso, 3, 1)
                        Case 0
                        Case 1
                            If Mid(strNumeroReverso, 1, 2) > 0 Then
                                strAux = "cento"
                            Else
                                strAux = "cem"
                            End If
                        Case 2
                            strAux = "duzentos"
                        Case 3
                            strAux = "trezentos"
                        Case 5
                            strAux = "quinhentos"
                        Case Else
                            strAux = arrUnidade(Mid(strNumeroReverso, 3, 1)) & "centos"
                    End Select
                    If Mid(strNumeroReverso, 1, 2) > 0 Then
                        strRet = strAux & " e " & strRet
                    Else
                        strRet = strAux
                    End If
                Case 4
                    strAux = arrUnidade(Mid(strNumeroReverso, 4, 1)) & " mil"
                    If Mid(strNumeroReverso, 3, 1) > 0 Then
                        strRet = strAux & " e " & strRet
                    Else
                        strRet = strAux & strRet
                    End If
            End Select
        Next i
        NumeroPorExtenso = strRet
        Erase arrUnidade
    End Function

    Fiz um exemplo para um formulário.   Não se aplica a relatórios.


    Bons estudos.
    Anexos
    Database2_NEW.zip
    Adição de arquivos de exemplo. Correção de Rotina.
    Você não tem permissão para fazer download dos arquivos anexados.
    (68 Kb) Baixado 4 vez(es)


    Última edição por Silvio em 13/2/2019, 19:49, editado 2 vez(es)


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos
    avatar
    raijeweb
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 01/04/2016

    Re: [Resolvido]Data Por Extenso

    Mensagem  raijeweb em 13/2/2019, 18:56

    Obrigado mais uma vez mas continua na mesma
    vejam bem

    1.a Tabela tem um campo de nome data só tem esse campo
    2.no formulário tem um campo dessa tabela chamado data que está com seguinte valor inserido: 13/02/2019
    3.no formulário tem uma caixa de texto chamada txtExtenso
    4. na txtExtenso quero que me retorne o valor exatamente como está escrito aqui: (Ao(s), Treze dias de Fevereiro de dois mil e dezenove)

    Obrigado mais uma vez
    Silvio
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4211
    Registrado : 20/04/2011

    Re: [Resolvido]Data Por Extenso

    Mensagem  Silvio em 13/2/2019, 19:31

    Fica complicado ajudar...

    Não sei qual o seu nível de conhecimento de programação, mas.....

    Baixe novamente o arquivo.

    Tente ver as mudanças que foram feitas.

    Tente adaptar ao teu projeto.


    Última edição por Silvio em 13/2/2019, 19:50, editado 1 vez(es) (Razão : Acréscimo de texto de mensagem)


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos
    avatar
    raijeweb
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 01/04/2016

    Re: [Resolvido]Data Por Extenso

    Mensagem  raijeweb em 13/2/2019, 20:09

    Não amigo não resolveu ainda conforme consta na mensagem nº 7 não se preocupe quando for resolvido vou marcar resolvido, se não foi resolvido não marcar porque não consegui resolver espero que entenda
    Silvio
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4211
    Registrado : 20/04/2011

    Re: [Resolvido]Data Por Extenso

    Mensagem  Silvio em 13/2/2019, 20:13

    Vá até a mensagem de numero seis....tem um arquivo novo lá....


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos
    avatar
    raijeweb
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 01/04/2016

    Re: [Resolvido]Data Por Extenso

    Mensagem  raijeweb em 13/2/2019, 20:38

    Muito obrigado amigo realmente é isso aí que estou precisando muito grato pela sua ajuda e todos os outros membros que entenderam ou não entenderam o que eu queria mas que mesmo assim me ajudaram, agora eu queria entender a montagem do extenso

      Data/hora atual: 20/2/2019, 22:16