none
Access-Extrair 2 primeiras consoantes de um Nome Proprio RRS feed

  • Pergunta

  • Olá Pessoal

    Sou um iniciante, e gostava de extrair as 2 primeiras consoantes de um campo=Nome próprio (1º Nome) num formulário.

    Sugeriram-me o seguinte, mas não consigo:

    "       Public Function fncExtrairConsoante(strNome As String) As String
    Dim j%, letra$, seq$
    Dim k As Byte
    For j = 1 To Len(strNome)
        letra = Mid(strNome, j, 1)
        Select Case InStr("bcdfghjklmnpqrstwvyxz", letra)
            Case Is > 0
                seq = seq & letra
                k = k + 1
                If k = 2 Then
                    fncExtrairConsoante = seq
                    Exit For
                End If
                If k = j Then fncExtrairConsoante = seq
        End Select
    Next
    If k = 0 Then fncExtrairConsoante = "-"
    End Function   "

    Se alguém pudesse ajudar ficava muito agradecido

    Obrigada

    domingo, 12 de maio de 2013 21:17

Respostas

  • Qual é a dificuldade?

    Esse código é funcional e faz o que você pede, para as minusculas apenas.

    Se é para meter como formula em alguma consulta ou formulário, deixo uma pequena modificação por causa dos nulos, e também para não ignorar as maiusculas:

    Public Function fncExtrairConsoante(strNome)
        Dim S As String, I As Integer, X As String, T As String
        
        S = LCase(Nz(strNome, ""))
        
        For I = 1 To Len(S)
            If InStr("bcdfghjklmnpqrstwvyxz", Mid(S, I, 1)) > 0 Then
                T = T & Mid(strNome, I, 1)
            End If
            If Len(T) = 2 Then Exit For
        Next
        fncExtrairConsoante = T
     End Function

    
    segunda-feira, 13 de maio de 2013 21:12