Función access

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?
3

3 respuestas

Respuesta
1
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)
Respuesta
1
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
Respuesta
1
Con la función instr puedes buscar un carácter en un campo, jugando con ella puedes hacer lo que buscas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas