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 - Responder - 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 / La ultima repeticion, en rojo
Autor Mensaje

Miembro


  Karma               1876

#1 Publicado: 26 Abr 2007 14:15



Hola amigos,

Hoy me toca a mi preguntar ... ahi va:

Tengo un campo con repeticiones (en este caso no puedo usar un portal ...) y necesito que el valor de la ultima repeticion me aparezca en rojo. Con este fin, he definido el siguiente campo de calculo:

Case(
campo_repetido=Extend(Last ( campo_repetido ));
TextColor ( campo_repetido; RGB ( 255 ; 0 ; 0 ));
campo_repetido
)

De esta forma la ultima repeticion me aparece en rojo. El problema esta en que si hay otra repeticion (a parte de la ultima) que tiene el mismo valor que la ultima, ambas me aparecen en rojo, y solo necesito la ultima repeticion en rojo!

A ver si a alguien se le ocurre la solucion que estoy bloqueado ...

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


  Karma               4415

#2 Publicado: 26 Abr 2007 14:28



A ver si me aclaro ...
Supongamos que tienes un campo con 5 repeticiones, ¿ok?
¿Pretendes que sea la 5ª la que salga siempre en rojo o que sea el valor introducido en la repetición más alta el que salga en rojo?

Esto:
1 . 2 . 3 . 4 . 5
o esto:
1 . 2 . 3

Otra cosa, ¿ese campo puede contener datos en una sola de sus repeticiones o en varias?


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


  Karma               1876

#3 Publicado: 26 Abr 2007 14:55



Pretendo esto:

Escribió: Perezoso
que sea el valor introducido en la repetición más alta el que salga en rojo


Escribió: Perezoso
Otra cosa, ¿ese campo puede contener datos en una sola de sus repeticiones o en varias?


En varias

Por ejemplo:

12 43 2 33 5 22 44 43
23 83 6 32 8


El campo de calculo quiero que me muestre:

12 43 22 33 55 22 44 43
23 83 6 32 8

El problema del calculo que pongo arriba es que en el primer caso, me muestra:

12 43 22 33 55 22 44 43

Gracias Perezoso


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               4415

#4 Publicado: 26 Abr 2007 16:12



Otra pregunta:
¿Donde estás metiendo el cálculo ese que indicas?


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

Administrador


  Karma               26427

#5 Publicado: 26 Abr 2007 16:15



A lo mejor es una tontería, pero ¿has probado a utilizar un If en lugar de un case?

Con el Case no "obligas" a evaluar todas las posibilidades, con el If sí.


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               4415

#6 Publicado: 26 Abr 2007 16:29 - Editado por: Perezoso



No debería de funcionar tampoco con el IF ya que Last ( campo_repetido ) devuelve el valor contenido en la repetición más alta y al decirle que ponga ese valor en rojo, pondrá en rojo todos los valores iguales a ese.
Si devolviera el nº de la ultima repetición no vacía funcionaría bien tal y como está planteado.


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


  Karma               1876

#7 Publicado: 26 Abr 2007 18:23



Bueno, parece que ya lo he arreglado con una chapuzilla, seguro que hay alguna forma mas elegante ... en fin, esto es lo que he añadido:

Case(
campo_repeticiones=Extend(c_ultima_repeticion) and
IsEmpty(GetRepetition ( campo_repeticiones ; Get ( CalculationRepetitionNumber )+1))
;
TextColor ( campo_repeticiones; RGB ( 255 ; 0 ; 0 ));
campo_repeticiones
)


Por cierto, c_ultima_repeticion es un campo de calculo
= Last(campo_repeticiones)

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

Administrador


  Karma               26427

#8 Publicado: 26 Abr 2007 18:35






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               4415

#9 Publicado: 26 Abr 2007 19:03 - Editado por: Perezoso



Puedes eliminar el campo de cálculo intermedio si planteas así la fórmula:

Case(
campo_repeticiones=Last(campo_repeticiones) and
IsEmpty(GetRepetition ( campo_repeticiones ; Get ( CalculationRepetitionNumber )+1));
TextColor ( campo_repeticiones; RGB ( 255 ; 0 ; 0 ));
campo_repeticiones
)



Pues ... tenía su tela la cosa, sip

¿Sabes una cosa?
que necesitas hacer un truco para que funcione bien si puede haber datos en la última de las repeticiones (no pinta esta en rojo).
Si vas a utilizar 10 repeticiones, debes crear 11 y mostrar las 10 ... de esta forma no hay problemas con el color del valor de la última.


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


  Karma               1876

#10 Publicado: 26 Abr 2007 19:17



Escribió: Perezoso
Puedes eliminar el campo de cálculo


Gracias Perezoso, cuanto mas simple mejor. Aqui teneis el archivo los que tengais curiosidad ...

Repeticiones.fp7Archivo adjunto: Repeticiones.fp7
 

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               4415

#11 Publicado: 26 Abr 2007 19:26 - Editado por: Perezoso



Había estado probando un rato por ahí y conseguí una solución bastante sencilla pero necesitaba un campo con repeticiones intermedio (no tenía el problema ese de que no pintaba en la última repetición).
Para hacerlo en un solo cálculo creo que la solución que has encontrado es bastante sencilla y práctica porque la cosa puede complicarse bastante al no tener FM una función que pueda obtener la repetición a la que corresponde el valor LAST() y eso lía bastante el tomate.
¿Quizás creando una función personalizada?


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


  Karma               1876

#12 Publicado: 26 Abr 2007 19:59



Escribió: Perezoso
al no tener FM una función que pueda obtener la repetición a la que corresponde el valor LAST()


Escribió: Perezoso
¿Quizás creando una función personalizada?


Seguro, acabo de ver esta en la pagina de Brian Dunning, que da pistas de como hacerla ... (precisamente te da la ultima repeticion que comentas arriba) en fin, otro dia me calentare la cabeza, ya esta bien por hoy!

Case (
IsEmpty ( Last ( repeatingField ) ) ; "" ;
Last ( repeatingField ) = GetRepetition ( repeatingField ; maxRepeat ) ; maxRepeat ;
LastRepNumber ( repeatingField ; maxRepeat - 1)
)

Enlace:

http://www.briandunning.com/cf/472


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               4415

#13 Publicado: 26 Abr 2007 21:36 - Editado por: Perezoso



Jopé ... estuve dándole unas cuantas vueltas a eso de la función personalizada y llegué a algo muy parecido a lo que comentas (jeje).
Lo que pasa es que yo pretendía que encontrara él solo la ultima de las repeticiones (sin tener que decirle cuantas tiene el campo) .... peeeeeeero ... tiene el mismo problema que antes, que no pinta el valor en la última de las repeticiones

Parece que no queda más remedio que pasarle el nº de repeticiones que tiene el campo

************

Ahí va el ejemplo con la solución anterior (un poco más simplificada) y con otra solución basada en la función personalizada de la pagina de Brian Dunning
.

UltimaRepeticionRojo.fp7Archivo adjunto: UltimaRepeticionRojo.fp7
 

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


  Karma               4415

#14 Publicado: 26 Abr 2007 22:34 - Editado por: Perezoso



Ya-tá ... esta formulita resuelve el problema ese de no pintar en la última de las repeticiones (un pequeño descubrimiento) ... pruebala
(No necesita el truco de meter una repetición más que las visibles)

Case(
IsEmpty (GetRepetition ( campo_repeticiones ; Get ( CalculationRepetitionNumber )+1)) or GetRepetition ( campo_repeticiones ; Get ( CalculationRepetitionNumber )+1) = "?" ;
TextColor ( campo_repeticiones; RGB ( 255 ; 0 ; 0 ));
campo_repeticiones
)


Funciona mejor que usando la función personalizada.


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


  Karma               1876

#15 Publicado: 27 Abr 2007 16:22



Escribió: Perezoso
Get ( CalculationRepetitionNumber )+1) = "?"


Muy bueno

Se puede conseguir lo mismo asi:

not IsValid(
GetRepetition ( campo_repeticiones ; Get ( CalculationRepetitionNumber )+1)
)

Escribió: Perezoso
(No necesita el truco de meter una repetición más que las visibles)


Je je, es justo lo que pensaba hacer ... pero mucho mejor añadiendo tu cambio.

Un par de funciones interesantes que he visto por ahi:

FieldRepetitions ( fileName ; layoutName ; fieldName )

Te da el numero de repeticiones "visibles" en una presentacion. Eso de que sea dependiente de la presentacion no me convence ...

Esta si que es buena:

FieldType ( Get ( FileName ) ; "campo_repeticiones" )

Te da informacion sobre el campo, y si es un campo con repeticiones, la ultima palabra es el numero de repeticiones que se han definido para el campo. Esto es el resultado que da para "campo_repeticiones":

Standard Number Unindexed 7

Asi que para saber el numero de repeticiones definidas para un campo tan solo tienes que quedarte con la primera palabra empezando por la derecha, y convertirla en numero:

GetAsNumber ( RightWords ( FieldType ( Get ( FileName ) ; fieldName ) ; 1 ) )


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
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 La ultima repeticion, en rojo

Mostrar en un portal un campo con repetición, variable según otro campo con repetición
Remarcación de texto, en color rojo.
Bienvenida, bibliografía, números <5 en rojo
Ultima fecha
Ultima Version de FM


Conectados: Invitados - 6
Miembros - 1 border=0 Carlangas422
En verde usuarios ZDDR

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