Separar datos de un campo

Hola y perdón por la pregunta tengo un campo APEYNO que es donde se guardan los apellidos y nombres de unos agentes que esta predeterminado como texto yo quiero que cuando abra un formulario de access me separo el apellido por un lado y los nombres por otro (me olvide de decir que los datos están separados por espacio por ejemplo Perez andres jose )es decir que quiero que en el campo apellido del formulario pacientes1 aparezca esolo el apellido y en el campo nombres solo los nombres.
Gracias ante todo

1 respuesta

Respuesta
1

Te he preparado esta función

Public Function strCambiar(miCadena As String, mparte As Integer) As String
' Función para cambiar Apellido Nombres por Nombres Apellido

' Nota: La función solo sirve para un apellido

' Elaborado por : Eduardo Pérez Fernández - Colombia

' Fecha : 18- 08 -2012

' miCadena es la cadena Apellido y nombre

' si mparte=1 retorna el Apellido

' si mparte=2 retorna los nombres

' si mparte=3 retorna Nombres y Apellidos

Dim strln As Integer

Dim strApellido As String

Dim strNombre As String

Dim lnCadena As Integer ' Almacena la longitud de la cadena

If mparte < 1 Or mparte > 3 Then

mparte = 3

End If

lnCadena = Len(Trim(miCadena))

strln = InStr(1, miCadena, " ", 1)

strApellido = Trim(Mid(miCadena, 1, strln))

strNombre = Trim(Mid(miCadena, strln, lnCadena - strln + 1))

If mparte = 1 Then

strCambiar = strApellido

ElseIf mparte = 2 Then ' Retorna nombres

strCambiar = strNombre

Else
strCambiar = strNombre & " " & strApellido

End If
End Function

Entonces para el campo Apellido del formulario debes llamar la función como:

StrCambiar( Apellido Nombres, 1) en donde Apellido Nombres es el campo

Ej: strCambiar("Pérez Luis Eduardo", 1) retorna Pérez

Para tomar solo nombres :

StrCambiar(Apellido Nombres, 2)

Ej: strCambiar("Pérez Luis Eduardo", 3) retorna Luis Eduardo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas