Apúntate a la Zona De Descargas Reservadas (ZDDR). Solo son 20 Euros
Con solo 20€ ayudarás
a mantener el foro.
Usace, solo opinion


Seguir a udias en Twitter
Directorio de Empresas de Foros de informática


Todo lo que sueñas, se puede diseñar.
We build your dreams.

 - Principal - Responder - Estadísticas - Registrarse - Buscar - Lista de usuarios -  - Zona de Descargas
 -
Ayuda al foro con tu donación
Foros en Udias.com / FileMaker / separar datos de un mismo campo
Autor Mensaje

Miembro

Ocasional

  Karma     16

#1 Publicado: 30 Ene 2010 22:47



He creado una tabla de filemaker importando datos desde un fichero dbf. El problema es que el campo nombre-apellidos es único tengo el nombre y los dos apellidos pero separados por un asterisco cuando yo lo necesitaria en campos separados para poder ordenarlos alfábeticamente. Es decir el formato es el siguiente
JUANA*LOPEZ*LOPEZ y yo necesito que me separe eso en un campo de nombre y dos de apellidos ( uno con el primero y otro con el segundo) ¿Cómo puedo hacerlo?
Gracias anticipadas


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo


Miembro

Constante

  Karma           275

#2 Publicado: 30 Ene 2010 23:48



Hola

Si sustituyes los * por espacios en blanco:

la primera palabra

MiddleWords(TEXTO; 1 ;1 )

la segunda palabra

MiddleWords(TEXTO; 2 ;1 )

la tercera palabra

MiddleWords(TEXTO; 3 ;1 )

y asi sucesivamente.

Para sustituir los asteriscos, muestras todos los registros , pones el cursor en el campo y pulsas en registro-reemplazar contenido, e introduces la formula Substitute(nombre del campo;"*";" ")

El problema te lo encontraras con nombres del tipo " Juan Luis Gonzales De La Torre " que esta compuesto de mas de tres palabras, y resulta dificil, por no decir imposible, encontrar un algoritmo que consiga discernir cuales de las palabras son nombres y cuales apellidos

Espero que te sirva.

Un saludo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Desde Galicia FM6, WindowsXP, Ubuntu

Miembro


  Karma             1014

#3 Publicado: 31 Ene 2010 04:29



poutija:
El problema te lo encontraras con nombres del tipo " Juan Luis Gonzales De La Torre " que esta compuesto de mas de tres palabras, y resulta dificil, por no decir imposible, encontrar un algoritmo que consiga discernir cuales de las palabras son nombres y cuales apellidos

Para eso, en este caso, lo que tienes que hacer es dejar los asteriscos y tomar desde la posición 0 hasta la del primer asterisco -1, para el nombre ... desde la posición del primer asterisco +1 hasta la posición del segundo asterisco -1, para el primer apellido ... y desde la posición del segundo asterisco +1 hasta el final, para el segundo apellido ... así ya va cada cosa completa en su sitio.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Soy todo oidos ;-) Ubuntu & Win XP # FileMaker: 5 - 10

Moderador

Adicto

  Karma             1021

#4 Publicado: 31 Ene 2010 09:25



Hola.
Si el campo donde tienes el nombre completo (con los asteriscos) se llamase "Nombreapellidos", a mí me funciona con los siguientes campos:

Nombre=Left ( Nombreapellidos ;(Position ( Nombreapellidos ; "*" ; 1 ; 1 )-1) )

PrimerApellido=Let([p1=Position ( Nombreapellidos;"*" ; 1 ;1)+1;p2=Position ( Nombreapellidos;"*" ; 1 ;2)];Middle ( Nombreapellidos ;p1 ;p2-p1))

SegundoApellido=Right ( Nombreapellidos ; Length ( Nombreapellidos )-Position ( Nombreapellidos; "*" ; 1 ; 2 ) )

Saludos.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 8 y Filemaker 11

Miembro

Constante

  Karma           275

#5 Publicado: 31 Ene 2010 09:26 - Editado por: poutija



Hola

Bueno, lo de eliminar previamente los asteriscos ( operacion muy sencilla ), es simplemente para que las formulas posteriores resulten mas sencilla e inteligibles. Sustituyendo los tasteriscos, la segunda palabra la calculamos:

MiddleWords(TEXTO; 2 ;1 )

Si no los sustituimos :

Middle(TEXTO; POSTION(TEXTO;"*";1;1)+1 ;POSTION(TEXTO;"*";1;2)-POSTION(TEXTO;"*";1;1)-1 )

La formula es un poco mas compleja ( espero no haberme equivocado en ningun punto y coma )


En el caso de nombres compuestos por una unica palabra, debemos buscar el primer asterisco, si se trata un nombre compuesto por dos palabra, como el del ejemplo, hay que buscar el segundo asterisco y asi, buscar el n asterisco para nombres compuestos por n palabras.
Lo mismo ocurre con los apellidos, ya que no todas las personas componen sus apellidos con dos palabras.

El problema es que filemaker ( y cualquier programa ) no sabe si una palabra concreta es un nombre o es un apellido.

En una ocasion me encontre con un problema parecido al que decebuda plantea , y tube que realizar primero un filtro con los nombre y apellidos compuestos por tres palabras ( y aun asi tube problemas por que algunos clientes foraneos tenian nombres compuestos por mas de una palabra y apellidos compuestos por una palabra ej. Tsou yue ), luego hice una lista de valores con los nombres encontrados. Con esta lista de valores pretendia explicarle a filemaker que palabras son nombres y cuales apellidos.

Con un guion comprobe en los nombre y apellidos de mas de tres palabras, hasta que palabra estaban incluidos esta lista de valores. En principio me parecio una buena solucion ( no era mala ), pero como era de esperar, no me resolvio todos los casos por que me encontre con nombres poco comunes ( que no estaban en la lista de valors ) que me obligaron cotejar registro por registro.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Desde Galicia FM6, WindowsXP, Ubuntu

Miembro

Asiduo

  Karma           194

#6 Publicado: 14 Sep 2017 11:44



¿No se puede poner un signo (por ej. "/") entre el nombre y apellidos y calcular todo el texto que hay hasta el "/" para el nombre y desde "/" para los apellidos?


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Solo sé que no se nada Mac, FileMaker Pro 9 y 12 según cliente
Su respuesta

Estilo Negrillas  Estilo Italico  Estilo Subrayado  URL De La Imagen  URL De La Web  Preformatted Text  YouTube URL  Sin código BB
Emoticones
:) ;) :up: :down: :biglol: :confused :cool: :mad: :sad: :shame: :smirk: :tongue: ... Más  Emoticones desactivados
Color de texto
Texto en negro Texto en blanco Texto en gris Texto en rojo Texto en azul Texto en verde Texto en rojo oscuro Texto en cian Texto en azul oscuro Texto en púrpura Texto en amarillo Texto en rosa Texto en naranja Texto en verde oliva Texto en marrón



 » Usuario  » Contraseña 
Solo Usuarios Registrados Pueden Postiar Aqui.
 

Tópicos relacionados con separar datos de un mismo campo

Compara datos de la misma tabla y el mismo campo
Imprimir con un mismo campo, datos de varias tablas
File Maker, bloquear un campo despues de introducir los datos en el mismo.
Separar datos de presentaciones
Separar y contar datos


Conectados: Invitados - 15
Miembros - 0
En verde usuarios ZDDR

Realizado con miniBB © 2001-2017
Para Udias.com © 1996-2017
Hosting con Interdominios