MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    Inserir Valores a letras - Access

    Compartilhe

    Hiryu
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 30/10/2012

    Inserir Valores a letras - Access

    Mensagem  Hiryu em Seg 4 Nov - 14:33

    Olá amigos, gostaria de uma ajuda, preciso fazer a análise como segue abaixo

    CAMPO NOME:
    CAMPO NUMEROS:

    Quando digito "MAURICIO JOSE DA SILVA" o campo numeros deve retornar um numero para cada caractere digitado

    EX:
    campo nome:  MAURICIO JOSE DA SILVA
    Campo Numeros: 4139939616154119341

    Fiz as "tabelas" dos ifs dos valores de cada caractere, porém não estou conseguindo fazer uma rotina para analisar caractere por caractere, ignorando os espaços

    If ResultadoChar = "A" Then
       Calc_Nome.Value = "1"
       ElseIf ResultadoChar = "J" Then
       Calc_Nome.Value = "1"
       ElseIf ResultadoChar = "S" Then
       Calc_Nome.Value = "1"
       ElseIf ResultadoChar = "B" Then
       Calc_Nome.Value = "2"
       ElseIf ResultadoChar = "K" Then
       Calc_Nome.Value = "2"
       ElseIf ResultadoChar = "T" Then
       Calc_Nome.Value = "2"
       ElseIf ResultadoChar = "C" Then
       Calc_Nome.Value = "3"
       ElseIf ResultadoChar = "L" Then
       Calc_Nome.Value = "3"
       ElseIf ResultadoChar = "U" Then
       Calc_Nome.Value = "3"
       ElseIf ResultadoChar = "D" Then
       Calc_Nome.Value = "4"
       ElseIf ResultadoChar = "M" Then
       Calc_Nome.Value = "4"
       ElseIf ResultadoChar = "V" Then
       Calc_Nome.Value = "4"
       ElseIf ResultadoChar = "E" Then
       Calc_Nome.Value = "5"
       ElseIf ResultadoChar = "N" Then
       Calc_Nome.Value = "5"
       ElseIf ResultadoChar = "W" Then
       Calc_Nome.Value = "5"
       ElseIf ResultadoChar = "F" Then
       Calc_Nome.Value = "6"
       ElseIf ResultadoChar = "O" Then
       Calc_Nome.Value = "6"
       ElseIf ResultadoChar = "X" Then
       Calc_Nome.Value = "6"
       ElseIf ResultadoChar = "G" Then
       Calc_Nome.Value = "7"
       ElseIf ResultadoChar = "P" Then
       Calc_Nome.Value = "7"
       ElseIf ResultadoChar = "Y" Then
       Calc_Nome.Value = "7"
       ElseIf ResultadoChar = "H" Then
       Calc_Nome.Value = "8"
       ElseIf ResultadoChar = "Q" Then
       Calc_Nome.Value = "8"
       ElseIf ResultadoChar = "Z" Then
       Calc_Nome.Value = "8"
       ElseIf ResultadoChar = "I" Then
       Calc_Nome.Value = "9"
       ElseIf ResultadoChar = "R" Then
       Calc_Nome.Value = "9"

    Poderiam me ajudar?, no aguardo

    Desde já obrigado

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Inserir Valores a letras - Access

    Mensagem  criquio em Seg 4 Nov - 14:43

    Tente usar o Replace:

    Código:
    Me.NomeCampo2 = Replace(Replace(Replace(Me.NomeCampo1, "A", "1"), "B", "2"), "C", "3")


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Hiryu
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 30/10/2012

    Soma dos numeros dos campos

    Mensagem  Hiryu em Ter 5 Nov - 10:57

    Olá Críquio, obrigado, deu certo" ^^

    Agora estou com outra dificuldade

    O resultado do nome deu "Nome.Campo2.Value = 4139939616154119341" porém agora preciso fazer a somatória desses números

    No caso o resultado desse nome seria 80 que é a soma de todos os números somados entre si, existe alguma expressão para realizar isso?

    Obrigado, no aguardo

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Inserir Valores a letras - Access

    Mensagem  criquio em Ter 5 Nov - 11:11

    Tente algo assim:

    Código:
    Dim N As Double

    For N = 1 To Len(Me.NomeDoCampo)
        N = N + Mid(Me.NomeDoCampo, N, 1)
    Next

    Me.NomeCampoDaSoma = N


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3347
    Registrado : 04/04/2010

    Re: Inserir Valores a letras - Access

    Mensagem  Avelino Sampaio em Ter 5 Nov - 12:40

    Olá!

    Vai uma outra opção para o seu projeto. Crie estas duas funções abaixo:


    Public Function fncGetSeq(strNome As String, Optional booSomar As Boolean)
    Dim j%
    Dim seqNum
    Dim TotalSoma%

    strNome = Replace(strNome, " ", "")
    For j = 1 To Len(strNome)
    seqNum = seqNum & fncNumSeq(Mid(strNome, j, 1))
    TotalSoma = TotalSoma + fncNumSeq(Mid(strNome, j, 1))
    Next
    If booSomar Then
    fncGetSeq = TotalSoma
    Else
    fncGetSeq = seqNum
    End If
    End Function


    Public Function fncNumSeq(strletra As String) As Byte
    Select Case strletra
    Case "A", "J", "S": fncNumSeq = 1
    Case "B", "K", "T": fncNumSeq = 2
    Case "C", "L", "U": fncNumSeq = 3
    Case "D", "M", "V": fncNumSeq = 4
    Case "E", "N", "W": fncNumSeq = 5
    Case "F", "O", "X": fncNumSeq = 6
    Case "G", "P", "W": fncNumSeq = 7
    Case "H", "Q", "Z": fncNumSeq = 8
    Case "I", "R": fncNumSeq = 9
    Case Else: fncNumSeq = 0
    End Select
    End Function


    Para extrair os resultados, basta utilizar assim:

    me!NomeCampo2 = fncGetSeq(me!CampoNome)
    me!CampoTotal = fncGetSeq(me!CampoNome,true)

    Sucesso!


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

      Data/hora atual: Sex 2 Dez - 23:35