Autor |
Mensaje |
Miembro
 Constante
  
|
#1 Publicado: 11 Nov 2008 23:31 - Editado por: dunumba
Hola, quiero compartir con todos un sencillo truco que se me ha ocurrido para tener en la base de datos de un colegio un campo en el que aparece el año académico según el mes en que se está.
Creamos un campo de cálculo con el nombre "año académico" y ponemos la siguiente fórmula, que pongo separada en sus partes para más claridad:
"Curso " & Case ((Month(Get ( CurrentDate )) = "9") or (Month(Get ( CurrentDate )) = "10") or (Month(Get ( CurrentDate )) = "11") or (Month(Get ( CurrentDate )) = "12");
Year(Get ( CurrentDate )) & "/" & Right ( (Year (Get(CurrentDate)) + 1); 2 );
(Month(Get ( CurrentDate )) ≠ "9" or (Month(Get ( CurrentDate )) ≠ "10" or (Month(Get ( CurrentDate )) ≠ "11" or (Month(Get ( CurrentDate )) ≠ "12" ))));
(Year (Get (CurrentDate )) - 1)& "/" & Right (Year (Get(CurrentDate));2)).
El resultado sería por ejemplo: Curso 2008/09, y se mantiene hasta agosto de 2009; a partir de septiembre de 2009 aparece Curso 2009/10.
Es un campo muy cómodo para incluirlo en listados que se renuevan cada año.
En caso de que lo utilicéis para cálculos, como fue mi caso, basta con omitir "Curso " &
Bueno, no es gran cosa pero me ha hecho mucha ilusión averiguar la fórmula. Un saludo. Dunumba
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
FM18, MAC OS, WIN 10
|
Miembro

|
#2 Publicado: 12 Nov 2008 02:12
La fórmula funciona pero es demasiado "pesada" (recurrente en cálculos innecesarios) ... podría simplificarse así:
"Curso:" & Case( Month ( Get ( CurrentDate ) ) < 9 ; Year (Get (CurrentDate )) - 1 & "/" & Right (Year (Get(CurrentDate)) ; 2 ) ;
Year (Get (CurrentDate )) & "/" & Right (Year (Get(CurrentDate)) + 1 ; 2 )
)
... así:
Let (
$año = Year (Get (CurrentDate ))
;
"Curso:" & Case( Month ( Get ( CurrentDate ) ) < 9 ; $año - 1 & "/" & Right ($año ; 2 ) ;$año & "/" & Right ($año + 1 ; 2 ))
)
... o de cualquier otra forma que evite en lo posible los cálculos repetitivos, ya que, estos consumen inútilmente tiempo de CPU y ralentizan la ejecución de la aplicación.
Y ... esto no es para desanimarte, sino para todo lo contrario, ¿ok? 
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Soy todo oidos ;-)
Ubuntu & Win XP # FileMaker: 5 - 10
|
Miembro
 Constante
  
|
#3 Publicado: 12 Nov 2008 10:48
Gracias, Perezoso, sospechaba que se podía simplificar la fórmula pero ya tenía ocupada la neurona en otra cosa, jejeje.

Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
FM18, MAC OS, WIN 10
|