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

    Inserir Valores a letras - Access

    avatar
    Hiryu
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    Inserir Valores a letras - Access Empty Inserir Valores a letras - Access

    Mensagem  Hiryu 4/11/2013, 19: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
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Inserir Valores a letras - Access Empty Re: Inserir Valores a letras - Access

    Mensagem  criquio 4/11/2013, 19:43

    Tente usar o Replace:

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


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    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.

    avatar
    Hiryu
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    Inserir Valores a letras - Access Empty Soma dos numeros dos campos

    Mensagem  Hiryu 5/11/2013, 15: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
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Inserir Valores a letras - Access Empty Re: Inserir Valores a letras - Access

    Mensagem  criquio 5/11/2013, 16: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: www.vcssistemas.com.br

    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
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Inserir Valores a letras - Access Empty Re: Inserir Valores a letras - Access

    Mensagem  Avelino Sampaio 5/11/2013, 17: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!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.

    Conteúdo patrocinado


    Inserir Valores a letras - Access Empty Re: Inserir Valores a letras - Access

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 11:53