** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - obtener iniciales de apellidos
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

obtener iniciales de apellidos

 Responder Responder
Autor
Mensaje
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1556
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Tema: obtener iniciales de apellidos
    Enviado: 15/Septiembre/2020 a las 17:52
Buenas.
Como podría extraer las dos letras primeras de los apellidos? Del primer apellido ya lo tengo con Left, pero del segundo no doy con ello.

Gracias.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 13118
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 15/Septiembre/2020 a las 18:33
Hola,

Asumiendo que hay gente aristocrática con varios apellidos compuestos y que se quiere recuperar los 2 primeros caracteres de cada uno de ellos:

Crea una función que reciba el nombre completo como argumento y devuelva un String
La función "partirá" la cadena en diferentes trozos y los colocará en un array (función Split)
Recorres cada uno de los trozos y tomas los 2 primeros caracteres. Lo vas concatenando en una variable de texto que utilizas para devolver el valor.

Function DameIniciales(strTexto As String) As String
    Dim arrTrozos       As Variant
    Dim i               As Integer
    Dim strTmp          As String
    
    arrTrozos = Split(strTexto, " ")
    For i = LBound(arrTrozos) To UBound(arrTrozos)
        strTmp = strTmp & Left(arrTrozos(i), 2)
    Next
    DameIniciales = strTmp
End Function


En otro escenario en que solo vas a tener 2 apellidos, localiza el espacio (función InStr) entre ellos para tomar esa posición para extraer los 2 caracteres a partir de esa posición (función Mid)

Inicales = Left(Apellidos, 2) & Mid(Apellidos, InStr(1, Apellidos, " ") + 1, 2)

Un saludo

Xavi, un minyó de Terrassa

Mi web
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable