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


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 - Estadísticas - Registrarse - Buscar - Lista de usuarios -  - Zona de Descargas
 -Privacidad y política de cookies -
Ayuda al foro con tu donación

Búsqueda en los foros

Foros en Udias.com / FileMaker / Separar texto
Autor Mensaje

Miembro

Constante

  Karma             849

#1 Publicado: 25 May 2007 17:17



Hola de nuevo
Tengo un listado en excel con un campo nombre del tipo APELLIDO1 APELLIDO2, NOMBRE y me gustaria separarlo en (al menos) APELLIDOS y NOMBRE. He mirado el truco de Flushedata, pero creo que no es lo que necesito, ni se como adecuarlo a mi listado.
Alguna idea? Es que son unos 2600 nombres


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 ;MacOS FM Pro 11, FM Pro 16 y FM Go 16

Miembro


  Karma               4392

#2 Publicado: 25 May 2007 20:11



Si los datos están como dices, separado por una coma el nombre de los apellidos, ya tienes una referencia válida para hacer la separación "Apellidos" y "Nombre".
Todo lo que esté a la derecha de la coma es el nombre y todo lo que esté a su izquierda son los apellidos.
Con cálculos, solo necesitas leer hasta la posición de la coma y pasar esos datos al campo APELLIDOS. Leyendo desde la posición de la coma hasta al final obtienes los datos para el campo NOMBRE.
Puedes mirar el ejemplo "Atar y desatar" para hacerte una idea de todo este proceso.


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

Miembro

Constante

  Karma             1018

#3 Publicado: 26 May 2007 01:20



Hola

Puedes exportar desde exel la información a texto separado por comas e importar a Fm.... o jugar con esas opciones exportación-importación.


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

Administrador


  Karma               26220

#4 Publicado: 26 May 2007 08:38



Como dice Perezoso, importa todo junto a un campo de texto en FM y luego genera un script que recorra todos los registros separando las dos partes que están a la derecha y a la izquierda de la coma. Con un simple cálculo lo consigues.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Constante

  Karma             849

#5 Publicado: 27 May 2007 09:53



Y como hago para "encontrar" la coma? Porque con el ejemplo de "Atar y desatar" con el cálculo Middle, necesito que el campo Apellidos comience por una coma para que me localice los apellidos (y no me calcula el nombre)


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 ;MacOS FM Pro 11, FM Pro 16 y FM Go 16

Administrador


  Karma               26220

#6 Publicado: 27 May 2007 10:52



Se supone que todos los campos van ha tener una coma, de forma que el contenido del campo será, más o menos;

apellido1 apellido2, nombre

Pues vete recorriendo el campo desde su primera posición hasta que te encuentres la coma, en ese momento ya sabes en que posición la tienes y por lo tanto por donde cortar el contenido del campo, con eso ya puedes establecer el nuevo campo con los apellidos.

Lo demás no es tan complicado.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro


  Karma               1867

#7 Publicado: 27 May 2007 20:20



Escribió: aciguembre
APELLIDO1 APELLIDO2, NOMBRE


Si el campo esta siempre formado por tres palabras, puedes crear dos campos de calculo usando las funciones "middlewords" y "rightwords":

apellidos=LeftWords ( nombre; 2 )
nombre=RightWords(nombre; 1)

Si lo que necesitas es coger lo que hay despues de la coma por si el nombre es compuesto, tendras que usar las funciones "Position()" para saber donde esta la coma, "Length ()" para saber cuantos caracteres tiene el campo, y "Middle()" para seleccionar la parte del texto que te interesa, obteniendo el numero de caracteres por la resta de "Length" y "Position()"


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
FileMaker 9 & 10 Certified Developer

GOODRELATIONSHIPS::__key

|
FMP 11 Advanced; Mac OSX, Win XP

Administrador


  Karma               26220

#8 Publicado: 27 May 2007 20:40



Escribió: alopas
apellidos=LeftWords ( nombre; 2 )
nombre=RightWords(nombre; 1)

Hay nombres con más de dos palabras y apellidos compuestos, esto no es utilizable en, por ejemplo;
María de los Ángeles Ruiz de Pellón.

Hay que buscar la posición de la coma para sacar el resto.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro


  Karma               1867

#9 Publicado: 27 May 2007 20:49



Claro, por eso he empezado diciendo esto ...

Escribió: alopas
Si el campo esta siempre formado por tres palabras,


Buscando la posicion de la coma, el calculo para extraer el nombre seria algo asi:

Let (
[
posicion_coma=Position ( nombre ; ","; 1 ; 1 );
longitud_texto=Length(nombre)
];
Middle ( nombre ; posicion_coma+2; longitud_texto-posicion_coma+2 )
)


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
FileMaker 9 & 10 Certified Developer

GOODRELATIONSHIPS::__key

|
FMP 11 Advanced; Mac OSX, Win XP

Miembro

Constante

  Karma             849

#10 Publicado: 30 May 2007 22:44



Gracias Alopas.
Dos pegas:
La primera es que tengo un par de nombres con un solo apellido (lo soluciono rápido poniendolo "a mano") pero la segunda y mas importante: ¿Como puedo exportar estos campos de cálculo? y si los utilizo dentro de mi base, no puedo añadir registros en un campo de cálculo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 ;MacOS FM Pro 11, FM Pro 16 y FM Go 16

Miembro


  Karma               1867

#11 Publicado: 31 May 2007 18:14



Escribió: aciguembre
La primera es que tengo un par de nombres con un solo apellido


Define un campo "c_apellidos" (calculo similar al del nombre). Luego para extraer cada apellido, usa estos calculos:

c_apellido_1=LeftWords(c_apellidos; 1)

c_apellido_2=MiddleWords(c_apellidos; 2;1)

Escribió: aciguembre
¿Como puedo exportar estos campos de cálculo?


De la misma forma que exportas los demas, no hay diferencia.

Escribió: aciguembre
y si los utilizo dentro de mi base, no puedo añadir registros en un campo de cálculo


Si quieres poder modificarlos, definelos como "texto" y en opciones "Auto-Enter > Calculated Value". La casilla "do not replace existing value ..." dejala sin seleccionar, para que se vuelva a evaluar si cambia el nombre.

Saludos!


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
FileMaker 9 & 10 Certified Developer

GOODRELATIONSHIPS::__key

|
FMP 11 Advanced; Mac OSX, Win XP

Miembro

Constante

  Karma             849

#12 Publicado: 1 Jun 2007 00:29



Muchas gracias. Lo estudiaré, aunque de momento he encontrado la solución en excel, y como lo separo en "origen", es más fácil la importación. De todas formas, muchas gracias de verdad


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 ;MacOS FM Pro 11, FM Pro 16 y FM Go 16

Administrador


  Karma               26220

#13 Publicado: 1 Jun 2007 00:33



De todas las formas, todo lo que se puede hacer en Excel se puede hacer con FileMaker... o casi.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Constante

  Karma             849

#14 Publicado: 1 Jun 2007 23:36



Lo he hecho con un cálculo LARGO que me cuenta los caracteres del campo, un cálculo ENCONTRAR para ver que posicion ocupa la coma en ese campo y luego un cálculo IZQUIERDA (lo que está a la izquierda de la coma) y DERECHA (idem a la derecha menos el primer caracter).
¿Cuales son las "equivalencias" en FM? (para los dos últimos imagino que Right y Left, pero trabajan algo distinto, ¿no?


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 10 ;MacOS FM Pro 11, FM Pro 16 y FM Go 16

Miembro


  Karma               1867

#15 Publicado: 4 Jun 2007 00:13



Escribió: aciguembre
LARGO que me cuenta los caracteres del campo


Length()

Escribió: aciguembre
ENCONTRAR para ver que posicion ocupa la coma en ese campo


Position ()

Echale un vistazo a la formula que te pongo arriba, usa tanto "Length" como "Position":

Escribió: alopas
Let (
[
posicion_coma=Position ( nombre ; ","; 1 ; 1 );
longitud_texto=Length(nombre)
];
Middle ( nombre ; posicion_coma+2; longitud_texto-posicion_coma+2 )
)



Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
FileMaker 9 & 10 Certified Developer

GOODRELATIONSHIPS::__key

|
FMP 11 Advanced; Mac OSX, Win XP

Miembro


  Karma               4392

#16 Publicado: 4 Jun 2007 01:31



A ver ... tenemos el campo CLIENTE con el formato: "apellidos, nombre".

Para separar de CLIENTE el/los apellido/s y pasarlo al campo APELLIDOS, podemos usar el siguiente cálculo:
Left (cliente ; Position (cliente ; "," ; 1; 1 ) -1)

Para separar de CLIENTE el/los nombre/s y pasarlo al campo NOMBRE, podemos usar el siguiente cálculo:
Trim ( Right ( cliente ; Length ( cliente ) - Position ( cliente ; "," ; 1 ; 1 )))

Esta forma de hacerlo acepta sin problemas las múltiples variantes que puedan darse siempre que los apellidos y nombre estén separados por una coma (existan o no uno o más espacios de separación a la derecha de la coma) ... p.e.:
- Fuentes Gómez, Carlos (o también: Fuentes Gómez,Carlos).
- Rodriguez de la Torre, José Antonio
- Cifuentes, Mario
- etc.

Todo esto viene a ser a ser más o menos lo mismo que ya se ha comentado a lo largo de este hilo.

Si deseas que dichos campos (APELLIDOS y NOMBRE) sean también editables, crealos como campos de texto y mete en cada uno de ellos el cálculo correspondiente en: AUTOINTRODUCIR -> Valor Calculado.


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

Miembro

Ocasional

  Karma   6

#17 Publicado: 20 May 2020 18:55 - Editado por: JP5555



Mensaje:
Hola uso la version FM 12
Al activar un boton relacionado a un Script PENDIENTE
Se EJECUTA en primera opcion
al ejecutarlo en una SEGUNDA vez no ejecuta el script

lo he revisado de varias formas y no encuentro el error
si alguno me indicara donde esta el problema

Le estare agradecido

ingresar con JP

Alumnos_General.fmp1.Archivo adjunto: Alumnos_General.fmp1.
 



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


Moderador


  Karma               6109

#18 Publicado: 20 May 2020 19:32 - Editado por: Alatriste



JP5555, deberias haber creado un nuevo hilo donde se podría dar tu solución específica. Aqui no va. Ademas este hilo es antiquísimo

Pero te indico dónde tienes el error, lo tienes en el paso de guion "Modo Buscar" que debes cambiarlo por "Ejecutar búsqueda" restaurar y le pones el campo Situación y Pendiente
Te dejo captura del guion arreglado.

NOTA: Cierro el tema.




Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Si te fue de utilidad el foro, valoralo y hazte forero VIP, tu nombre de usuario será verde mostrando que aportas ayuda económica.
Hacerte VIP es necesario para mantenerlo abierto, recuerda que el foro vive sin ayuda de FileMaker y sus distribuidores.
W10 Pro x64 - FileMaker 19 (x64)
Este Tema fue cerrado. No puede publicar mas respuestas.
 

Tópicos relacionados con Separar texto

Separar un campo de texto en dos
Separar texto y verificar contenido
Separar texto y quitar tallas duplicadas
Separar apellidos
Separar campo


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

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