Autor |
Mensaje |
Miembro
Constante
  
|
#1 Publicado: 6 Nov 2020 20:43
Quiero que si no llenan le salte un mensaje. pensaba asignarle un valor a casa campo y que deban de sumar al menos 80 ej: Nombre valdrá 1 apellido paterno valdrá 1 apellido materno valdrá 1
y así con todos los que yo quiera que sume.
Yo pensaba: case (not is empty (campo::nombre); 1; + not is empty (campo::apellido paterno); 1)
el problema esta en la suma.
será un campo de cálculo que le asigne un valor a cada campo capturado, y cuando llegue a 80 quiere decir que ya lleno todo lo importante.
alguna idea
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
popsoft
windows7-filemaker pro 14 advanced
|
Moderador

|
#2 Publicado: 7 Nov 2020 12:59
Hola. Let ( [ suma = not IsEmpty ( campo::nombre ) + not IsEmpty ( campo::apellido paterno ) + not IsEmpty ( campo::edad ) //, etc. ] ;
Case ( suma = 80 ; "Bien, todos los campos se han rellenado" )
)
Suponiendo que fuesen 80 campos y todos rellenados.
Sls.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Pon tu sistema operativo y versión de FileMaker en tu perfil.
Windows 10 Pro + FileMaker Pro 11/19
|
Moderador

|
#3 Publicado: 7 Nov 2020 13:39 - Editado por: flusheddata
Si tienes un montón de campos puede ser tedioso ir añadiéndolos al cálculo. En el archivo adjunto he creado un cálculo que de forma dinámica cuenta todos aquellos campos cumplimentados cuyo nombre comience por sm (summary).
Cuañdo añadas nuevos campos y quieras que se sumen solo tienes que comenzar su nombre por sm.
Espero que te sirva. Sls.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Pon tu sistema operativo y versión de FileMaker en tu perfil.
Windows 10 Pro + FileMaker Pro 11/19
|
Miembro
Constante
  
|
#4 Publicado: 9 Nov 2020 17:38
Gracias flusheddata, lo voy a probar. En mi caso es importantes, pues con valores arriba de 80 debe de activarse un grafico HTML. Muchisimas gracias, ya te diré
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
popsoft
windows7-filemaker pro 14 advanced
|
Miembro
Constante
  
|
#5 Publicado: 19 Nov 2020 18:08
no me funcionó de ninguna manera, esto es lo que tiene el campo de calculo
Let ( [ _trigger = GetField ("") ; // fuerza a evaluar al consignar _campos = "not IsEmpty ( " & // texto literal inicial ExecuteSQL ( " select tablename||'::'||fieldname from filemaker_fields where left(fieldname,2) = 'sm' " ; "" ; " ) + not IsEmpty ( " ) & //sql devuelve nombres de campos separados por cerrar paréntesis, operador de suma y función not Isempty y abrir paréntesis " )" // texto literal final ] ;
Evaluate ( _campos )
) ------------------------------- *no se que es ( _campos ) ......................................
Tampoco me funciona esto -------------------------------
Let ( [ suma = not IsEmpty ( campo::nombre ) + not IsEmpty ( campo::apellido paterno ) + not IsEmpty ( campo::edad ) //, etc. ] ;
Case ( suma = 80 ; "Bien, todos los campos se han rellenado" )
)
no puedo asignarle valor a cada campo. porque hay campos que llenos valdrán 3 puntos y otrod 2 o 1
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
popsoft
windows7-filemaker pro 14 advanced
|
Moderador

|
#6 Publicado: 19 Nov 2020 19:42
popsoft: *no se que es ( _campos ) Es una variable que está dentro de la función Let.
popsoft: Tampoco me funciona esto ------------------------------- Let ( [ suma = not IsEmpty ( campo::nombre ) + not IsEmpty ( campo::apellido paterno ) + not IsEmpty ( campo::edad ) //, etc. ] ; Case ( suma = 80 ; "Bien, todos los campos se han rellenado" ) ) not isempty ( campo::nombre) dará 1 si no está vacío. Ese 1 puedes sumarlo a otros . Pero si tiene que ser un valor diferente para cada campo entonces sería algo como: Case ( not isempty ( campo::nombre ) ; 1 ) + Case ( not isempty ( campo::apellido ) ; 2 ) Esto sumaría 1 si nombre no está vacío más 2 si apellido no está vacío. En definitiva, un Case para cada campo. sls.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Pon tu sistema operativo y versión de FileMaker en tu perfil.
Windows 10 Pro + FileMaker Pro 11/19
|
Miembro
Constante
  
|
#7 Publicado: 19 Nov 2020 23:03
Perdón flusheddat. Donde puedo ver la variable _campos para entender (aun no me sale)
*no se que es ( _campos )
Es una variable que está dentro de la función Let.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
popsoft
windows7-filemaker pro 14 advanced
|
Moderador

|
#8 Publicado: 20 Nov 2020 07:57
¿Conoces la función Let?
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Pon tu sistema operativo y versión de FileMaker en tu perfil.
Windows 10 Pro + FileMaker Pro 11/19
|
Miembro
Habitual

|
#9 Publicado: 22 Nov 2020 13:17 - Editado por: chunguillo
He subido un lío de mírame y no me toques y prefiero borrarlo porque no hace lo que debería hacer.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Mac y FileMaker
|
Moderador

|
#10 Publicado: 22 Nov 2020 16:00
chunguillo: he hecho un cálculo –no es una función recursiva– que nos permite conseguir, creo, lo que se pretende Me pierdo en la variable _Result dentro de la función Evaluate. La parte en la que $n = $n + 1
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Pon tu sistema operativo y versión de FileMaker en tu perfil.
Windows 10 Pro + FileMaker Pro 11/19
|
Miembro
Habitual

|
#11 Publicado: 22 Nov 2020 16:24 - Editado por: chunguillo
Nada, que se me ha ido la pinza, como se suele decir.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Mac y FileMaker
|
Miembro
Habitual

|
#12 Publicado: 22 Nov 2020 19:23 - Editado por: chunguillo
Me quedo con tu Solución, flusheddata. Otras opciones que he intentado nunca terminan de convencerme.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Mac y FileMaker
|