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]Valor Monetario Por Extenso

    avatar
    ESTUDANTE7
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 14/06/2024

    extenso - [Resolvido]Valor Monetario Por Extenso Empty [Resolvido]Valor Monetario Por Extenso

    Mensagem  ESTUDANTE7 14/6/2024, 16:40

    Boa tarde!

    Tenho um banco de dados access, onde criei formulário com base em uma tabela todos os campos, todas as informações
    Que lanço nesse formulario vão pra tabela, menos o campo do valor por extenso, consegui fazer ele ficar por extenso somente no formulário, digitando na fonte de controle do campo lá o codigo:  " =extenso95([valor_das_férias])", porém esse valor dele por extenso não registra na tabela a qual é necessãrio que tenha esse registro já que uso o banco em uma mala direta em documento do word. Se alguém puder me passar o passo a passo para resolver o problema do registro do valor por extenso na tabela agradeço. Visto que não sou expert em vba.

    Já tenho um modulo que copiei aqui salvo com o seguinte codigo vba:

    Código:

    Function Extenso95(nValor)
    If IsNull(nValor) Or nValor <= 0 Or nValor > 9999999.99 Then
    Exit Function
    End If
    Dim nContador, nTamanho As Integer
    Dim cValor, cParte, cFinal As String
    ReDim aGrupo(4), aTexto(4) As String
    ReDim aUnid(19) As String
    aUnid(1) = "UM ": aUnid(2) = "DOIS ": aUnid(3) = "TRES "
    aUnid(4) = "QUATRO ": aUnid(5) = "CINCO ": aUnid(6) = "SEIS "
    aUnid(7) = "SETE ": aUnid(8) = "OITO ": aUnid(9) = "NOVE "
    aUnid(10) = "DEZ ": aUnid(11) = "ONZE ": aUnid(12) = "DOZE "
    aUnid(13) = "TREZE ": aUnid(14) = "QUATORZE ": aUnid(15) = "QUINZE "
    aUnid(16) = "DEZESSEIS ": aUnid(17) = "DEZESSETE ": aUnid(18) = "DEZOITO "
    aUnid(19) = "DEZENOVE "
    ReDim aDezena(9) As String
    aDezena(1) = "DEZ ": aDezena(2) = "VINTE ": aDezena(3) = "TRINTA "
    aDezena(4) = "QUARENTA ": aDezena(5) = "CINQUENTA "
    aDezena(6) = "SESSENTA ": aDezena(7) = "SETENTA ": aDezena(8) = "OITENTA "
    aDezena(9) = "NOVENTA "
    ReDim aCentena(9) As String
    aCentena(1) = "CENTO ": aCentena(2) = "DUZENTOS "
    aCentena(3) = "TREZENTOS ": aCentena(4) = "QUATROCENTOS "
    aCentena(5) = "QUINHENTOS ": aCentena(6) = "SEISCENTOS "
    aCentena(7) = "SETECENTOS ": aCentena(8) = "OITOCENTOS "
    aCentena(9) = "NOVECENTOS "
    cValor = Format$(nValor, "0000000000.00")
    aGrupo(1) = Mid$(cValor, 2, 3)
    aGrupo(2) = Mid$(cValor, 5, 3)
    aGrupo(3) = Mid$(cValor, 8, 3)
    aGrupo(4) = "0" + Mid$(cValor, 12, 2)
    For nContador = 1 To 4
    cParte = aGrupo(nContador)
    nTamanho = Switch(Val(cParte) < 10, 1, Val(cParte) < 100, 2, Val(cParte) < 1000, 3)
    If nTamanho = 3 Then
    If Right$(cParte, 2) <> "00" Then
    aTexto(nContador) = aTexto(nContador) + aCentena(Left(cParte, 1)) + "E "
    nTamanho = 2
    Else
    aTexto(nContador) = aTexto(nContador) + IIf(Left$(cParte, 1) = "1", "CEM ", aCentena(Left(cParte, 1)))
    End If
    End If
    If nTamanho = 2 Then
    If Val(Right(cParte, 2)) < 20 Then
    aTexto(nContador) = aTexto(nContador) + aUnid(Right(cParte, 2))
    Else
    aTexto(nContador) = aTexto(nContador) + aDezena(Mid(cParte, 2, 1))
    If Right$(cParte, 1) <> "0" Then
    aTexto(nContador) = aTexto(nContador) + "E "
    nTamanho = 1
    End If
    End If
    End If
    If nTamanho = 1 Then
    aTexto(nContador) = aTexto(nContador) + aUnid(Right(cParte, 1))
    End If
    Next
    If Val(aGrupo(1) + aGrupo(2) + aGrupo(3)) = 0 And Val(aGrupo(4)) <> 0 Then
    cFinal = aTexto(4) + IIf(Val(aGrupo(4)) = 1, "CENTAVO", "CENTAVOS")
    Else
    cFinal = ""
    cFinal = cFinal + IIf(Val(aGrupo(1)) <> 0, aTexto(1) + IIf(Val(aGrupo(1)) > 1, IIf(aGrupo(2) Mod 100 = 0, "MILHÕES ", "MILHÕES, "), IIf(aGrupo(2) Mod 100 = 0, "MILHÃO E ", IIf(aGrupo(2) = 0 And aGrupo(3) = 0, "MILHÃO ", "MILHÃO, "))), "")
    If Val(aGrupo(2) + aGrupo(3)) = 0 Then
    cFinal = cFinal + "DE "
    Else
    If Val(aGrupo(3)) = 0 Then
    cFinal = cFinal + IIf(Val(aGrupo(2)) <> 0, aTexto(2) + "MIL ", "")
    Else
    cFinal = cFinal + IIf(Val(aGrupo(3)) Mod 100 = 0 And aGrupo(4) = 0, IIf(Val(aGrupo(2)) <> 0, aTexto(2) + "MIL E ", ""), IIf(Val(aGrupo(2)) <> 0, aTexto(2) + "MIL, ", ""))
    End If
    End If
    cFinal = cFinal + aTexto(3) + IIf(Val(aGrupo(1) + aGrupo(2) + aGrupo(3)) = 1, "REAL ", "REAIS ")
    cFinal = cFinal + IIf(Val(aGrupo(4)) <> 0, "E " + aTexto(4) + IIf(Val(aGrupo(4)) = 1, "CENTAVO", "CENTAVOS"), "")
    End If
    Extenso95 = cFinal
    End Function

    Sub mdlExtenso()

    End Sub

    julioaccess gosta desta mensagem

    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    extenso - [Resolvido]Valor Monetario Por Extenso Empty Re: [Resolvido]Valor Monetario Por Extenso

    Mensagem  Alvaro Teixeira 14/6/2024, 19:58

    Olá Paulo,

    Tenha atenção com as Regras do Fórum

    1. Tenha paciência com quem coloca aqui as suas duvidas.
    2. Clareza nos títulos dos tópicos e duvidas, evite a linguagem MSN.
    3. Não colocar diversas vezes a mesma dúvida.
    4. Explicar detalhadamente o problema e informar a versão do seu Office + Sistema Operativo.
    5. Retorne sempre se deu certo, esse retorno é muito importante.
    6. Respeite toda a equipe Staff e demais membros deste fórum.
    7. Use sempre o botão Busca, sempre que tiver uma dúvida e antes de abrir tópicos.
    8. Não usar palavras como "Urgente". O fórum é livre e ninguém é obrigado a responder com urgência.
    9. A publicidade é proíbida e só pode ser feita pelo Administrador ou depois de aprovada pelo Administrador.
    10. Se o seu tópico não for respondido, tem o direito de fazer um Up ao final de 24horas!
    11. A colocação de Códigos ou Exemplos, devem constar sempre os créditos de quem o elaborou.
    12. Fale, não GRITE!   Só letras Maiúsculas, na Internet é o mesmo que gritar!
    13. É proibido tirar duvidas nas Salas de Repositório, devem abrir um novo tópico nas salas de duvidas, relacionando o Exemplo em causa.
    14. É proibido adicionar links externos nos tópicos, que redirecionem para outros sites ("backlinks").
    15. É permitido adicionar links externos, nos códigos VBA dentro das Base de Dados.


    Relativamente à questão, se compreendi bem, pois parece que pretende que o extenso fique gravado na tabela, deverá alterar a origem do campo para o campo da tabela.
    Depois deve escolher o evento que vai atualizar o campo do extenso em função do valor (numérico) total.

    Se tiver dificuldades, partilhe base de dados com parte envolvida na dúvida.

    Abraço e bons estudos com o Maximo Access

    ESTUDANTE7 gosta desta mensagem

    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3495
    Registrado : 13/12/2016

    extenso - [Resolvido]Valor Monetario Por Extenso Empty Re: [Resolvido]Valor Monetario Por Extenso

    Mensagem  Alexandre Fim 14/6/2024, 20:20

    Boa tarde Paulo,

    Seja bem-vindo ao fórum.

    Nessa mesma tabela, crie um campo de nome "valor_extenso" do tipo Texto, com tamanho de 255 caracteres.
    Em seguida, no formulário onde esse campo que carrega o extenso do valor, na Folha de Propriedades e na guia "Dados", mude a fonte de controle do campo para o campo que você criou, chamado "valor_extenso".

    Acredito que irá funcionar.

    Att,
    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    extenso - [Resolvido]Valor Monetario Por Extenso Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    ESTUDANTE7
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 14/06/2024

    extenso - [Resolvido]Valor Monetario Por Extenso Empty Valor Monetario Por Extenso

    Mensagem  ESTUDANTE7 17/6/2024, 17:04

    Boa Tarde!

    Muito obrigado Alvaro Teixeira e Alexandre Fim
    consegui resolver aqui, valeu demais.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3495
    Registrado : 13/12/2016

    extenso - [Resolvido]Valor Monetario Por Extenso Empty Re: [Resolvido]Valor Monetario Por Extenso

    Mensagem  Alexandre Fim 17/6/2024, 17:10

    Valeu Paulo,
    O fórum agradece.

    Sucesso!


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    extenso - [Resolvido]Valor Monetario Por Extenso Setinf11
    Sistemas e Tecnologia Ltda
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    extenso - [Resolvido]Valor Monetario Por Extenso Empty Re: [Resolvido]Valor Monetario Por Extenso

    Mensagem  Alvaro Teixeira 25/6/2024, 12:09

    Olá a todos,

    Paulo, obrigado pelo feedback, o fórum agradece.

    Faltou dar o tópico como Resolvido, desta vez eu dou, no entanto veja como é efetuado:
    https://www.maximoaccess.com/t860-resolucao-de-topicos

    Bons estudos com o MaximoAccess

    Abraço a todos

    Conteúdo patrocinado


    extenso - [Resolvido]Valor Monetario Por Extenso Empty Re: [Resolvido]Valor Monetario Por Extenso

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 14:18