¿Cómo puedo separar los nombres de los apellidos en una tabla creada en Visual Basic?

Necesito que me ayudes por fis.
Mira tengo un campo de nombres en mi bd y necesito guardar en otra tabla solo un nombre ejemplo:
Martha Pachay,
Tengo que guardar solo martha
La pregunta es como hago o que función utilizo para solo coger Martha y no el apellido, lo que pasa es que son algunos nombres unos ocupan 6 espacios otros 7 unos 4 y no se como hacer para que de cada nombre no más me coja el primero.

2 Respuestas

Respuesta

SELECT [Nombre_Completo] FROM [dbo].[persona]

SELECT PARSENAME(REPLACE(Nombre_Completo,' ','.'),4) AS Nombre,
parsename(REPLACE(Nombre_Completo,' ','.'),3) AS SegundoNombre,
parsename(REPLACE(Nombre_Completo,' ','.'),2) AS PrimerApellido,
parsename(REPLACE(Nombre_Completo,' ','.'),1) AS SegundoApellido
FROM [dbo].[persona]

Respuesta
1
Te recomiendo ingresarlo en cajas distintas los nombres y en otra los apellidos, ya que la única forma de separar es recorriendo el texto y buscando en el ""UN ESPACIO" que nos sirve de referencia. ahora eso nos serviría si tan solo ingresas esto
Maria Pachay. Pero que pasaria si ingresas
¿Maria del Carmen Pachay ya no ahy un solo espacio entre el nombre y el apellido verdad? ¿Ahy 3 espacios no?
Entonses ese es el problema.
¿De todas maneras quieres que te dea la forma de separarlo? Ojo que lo que te daría tan solo serviría par aun espacio, en el según ejemplo dejaría de lado DEL CARMEN y solo guardaría María.
Te voy a explicar bien como es lo que tengo que hacer.
En una base de datos en access en una tabla tengo los nombres de las personas e un campo los nombres y e otro los apellidos. Ejemplo
Campo Apellidos Campo Nombre
Leon Rodriguez                        Hugo Maximo
Bejarano Guzman                    Andres
Entonces lo que yo tengo que hacer es tomar el primer nombre y el primer apellido de los trabajadores y guardarlos en una tabla diferente en la cual los registros quedarían guardados así:
León Hugo
Bejarano Andres
Yo creo que el ejemplo que me vas a dar de separar solo un espacio esta bien.
Pero que el campo que yo tengo para guardar el nombre es de 18 caracteres no más, que pasaría si el nombre ocupa más de 18 caracteres como este que tiene 19
Magallanes Hipólito, ¿mi pregunta es se me guardaría hasta que ocupe los 18 espacios o me enviaría un error al guardar? La pregunta es por que en mis datso este nombre si existe y no se que pasara al guardar los datos.
Muchas gracias de antemano, y espero hacerme entender de la forma que lo explico
Disculpame la damora, pero aquí te dejo la respuesta:
    Dim nom,nom_1 As String
    nom = "HUGO MAXIMO"
    For i = 1 To Len(nom)
        If (Mid(nom, i, 1)) <> " " Then
            nom_1 = nom_1 + Mid(nom, i, 1)
        Else
            Exit For
        End If
    Next
    Text1.Text = nom_1
Con eso hago separar los nombres, nom es una variable que contiene los nombres completo y nom_1 es la variable que captura el primer nombre.
Ahora lo mismo arias para los apellidos. Suerte
No olvides finalizar esta pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas