Función access

Hola, necesito una función de access que recorte por espacios, es decir, un quiero separar un campo apellidos en dos campos, uno para cada apellido. ¿Me puedes decir si existe algún procedimiento para hacerlo? Muchas gracias.

3 respuestas

1
Respuesta de
Function recortar(palabra as string,opcion as integer)
for i = 1 to len(palabra)
if asc(mid(palabra,i,1))=32 and opcion=1 then
recortar=left(palabra,i)
exit for
elseif asc(mid(palabra,i,1))=32 and opcion=2 then
recortar=right(palabra,len(palabra)-i)
exit for
endif
next
end function
Con esta función puedes extraer la primera parte o la segunda dependiendo de lo que quieras.
Solo tienes que usarla en un procedimiento así:
Primerapellido=recortar(apellido,1)
Espero te sirva
Añade un comentario a esta respuesta
1
Respuesta de
Hola: He puesto esto en el evento current de un formulario que cuelga de una tabla que tiene un campo llamado apellidos...
Option Compare Database
Dim ape1 As String, ape2 As String
Private Sub Form_Current()
Dim pos As Integer
If apellidos.Value <> "" Then
pos = dime_espacio(apellidos)
Me.txtape1.Value = Left(apellidos, pos - 1)
Me.txtape2.Value = Right(apellidos, Len(apellidos) - pos)
Else
Me.txtape1.Value = "Nulo"
Me.txtape2.Value = "Nulo"
End If
End Sub
Function dime_espacio(inputs As String) As Integer
Dim i As Integer
char = "x"
i = 1
While char <> " " And i <= Len(inputs)
char = Mid(inputs, i, 1)
i = i + 1
Wend
dime_espacio = i - 1
End Function
Espero te sea de ayuda.
Saludos y feliz navidad
Añade un comentario a esta respuesta
1
Respuesta de
Con la función instr puedes buscar un carácter en un campo, jugando con ella puedes hacer lo que buscas.
Un saludo
Jose Antonio
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Microsoft Access o hacer tu propia pregunta: