Autor |
Mensaje |
Miembro
Ocasional
|
#1 Publicado: 20 Sep 2006 17:19
¡Hola amigos!
Antes de nada pedir disculpas por si ya se ha comentado el asunto.
Tengo una base de datos con el campo FECHA definida como tipo "FECHA" y me gustaría saber cuál es el GUIÓN para que en caso de que el usuario introduzca una fecha YA introducida, el programa NO muestre el mensaje que viene predeterminado, sino que aparezca un MENSAJE personalizado del tipo: "La fecha ya está repetida", y con BOTONES personalizados tales com "Corrige la fecha" "Acepto el valor de la fecha"
¡¡Saludos!!
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
|
Administrador

|
#2 Publicado: 20 Sep 2006 18:10
Lo único que tiene que hacer el guión es comparar los valores de los dos campos, el de la fecha y el del campo donde introduces la fecha, si son iguales... mensaje al canto, que son distintoa estableces la fecha en su sitio y continuas.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Todo lo que sueñas, se puede diseñar.
FM 11 * VV 6 * PHP 5 * MySQL * Win 8.
|
Miembro
Ocasional
|
#3 Publicado: 20 Sep 2006 18:18
¡Hola JCU!
Gracias por tu respuesta. Pero lo que quiero indicar es simplemente que si el usuario ha introducido en un registro la fecha X, si VUELVE a introducir esa fecha X más adelante en otro registro, el programa me presente en pantalla un mensaje MENSAJE personalizado del tipo: "La fecha ya está introducida", y con BOTONES personalizados tales com "Corrige la fecha" "Acepto el valor de la fecha"
¡¡Saludos!!
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
|
Miembro
 Asiduo
 
|
#4 Publicado: 20 Sep 2006 19:17
Hola
Supongamos que el campo fecha se llame FECHA
Creas una lista de valores con el valor del campo FECHA llamada por ej: Fecha_introducida
Creas un guión
Establecer captura de errores (Activada)
If (PatternCount ( ValueListItems ( Get ( FileName ); "Fecha_introducida"); FECHA) = 1)
Mostrar Cuadro de dialogo (con los botones que quieras en este caso 2)
If (Get ( LastMessageChoice ) = 1)
Lo que quieras que hagas
End if
If (Get ( LastMessageChoice ) = 2)
Lo que quieras que hagas
End if
End if
La función PatternCount ( texto ; textoBuscado ) busca un valor dentro de una cadena de caracteres.
La función ValueListItems ( nombreArchivo ; listaValores ) te devuelve todos los valores de una lista de valores (importante poner el nombre de la lista de valores entre “”)
La función Get ( FileName ) te devuelve el nombre del archivo (de esta manera si cambias el nombre del archive no pasara nada)
Combinando las 3 funciones te da lo que necesitas
Un saludo
Manuel
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
XP Pro, FM5.5, 7, 8
|
Miembro

|
#5 Publicado: 21 Sep 2006 03:17 - Editado por: alopas
Tambien puedes conseguir validar que no haya dos fechas iguales sin crear un guion, por medio de una autorelacion usando el campo "fecha" y el campo "ID". Luego en eliges "validar con calculo" y pones esta formula:
Count(validar_fecha::ID)<1
("validar_fecha" es el nombre de la autorelacion)
Aqui pongo un ejemplo.
Saludos!
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
FileMaker 9 & 10 Certified Developer
GOODRELATIONSHIPS::__key
|
FMP 11 Advanced; Mac OSX, Win XP
|
Miembro
Ocasional
|
#6 Publicado: 21 Sep 2006 19:18
¡Gracias a todos por vuestros mensajes!
Me pongo a estudiarlos.
alopas, he visto tu caso y me ha parecido muy sencillo e interesante. LO que sucede es que cuando se repite la fecha, filemaker presenta un cuadro de mensaje de error que sale tiene tres opciones: "Restablecer registro" "Si" "NO" Y me parece que este tipo de mensajes puede despistar al usuario. Me gustaría que solo salieran dos opciones: "SI" "NO"
¡¡Saludos!!
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
|
Miembro

|
#7 Publicado: 22 Sep 2006 01:26
El mensaje de "Restablecer registro" desgraciadamente no se puede quitar usando la validacion nativa de FM. Si necesitas que haya solo dos botones de "SI" o "NO" tienes que crear un guion, y si creas un guion la unica forma de ejecutarlo al salir del campo es usando el "zippscript" plugin (u otro similar), que funciona bien y es gratis, aunque yo prefiero usar plugins solo como ultimo recurso.
La otra opcion es crear un boton que te ejecute el script de validacion, pero si el usuario no hace click en el boton el campo no se validara. Si tienes botones para cambiar de presentacion, de registro, e imprimir, puedes incluir el script de validacion somo subscript de estos ... es la unica forma de que se valide el campo sin que el usuario tenga que presionar el boton.
Saludos!
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
FileMaker 9 & 10 Certified Developer
GOODRELATIONSHIPS::__key
|
FMP 11 Advanced; Mac OSX, Win XP
|
Miembro
 Constante
  
|
#8 Publicado: 22 Sep 2006 03:37
...Otra obción puede ser, que antes de introducirte en el campo, con un botón oculto sobre el mismo, mediante un script busques y muestres ( en otra presentación si es necesario ) las fechas que ya están ocupadas.
Esta obción es compatible con las respuesta ya presentadas....
Saludos
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
:-)
|
Miembro
 Constante
  
|
#9 Publicado: 22 Sep 2006 10:33
Tambien tienes como siempre la posibilidad de terceros, es decir, un plugin gratuito que existe para lanzar un script despues de salir de un campo.
De esta forma al introducir la fecha y pasar al siguiente campo puedes validar que no este repetida con una búsqueda en la BD y lanzar el cuadro de dialogo que tu quieras.
Yo personalmente no soy partidario de los plugin a no ser que sean muy necesarios, es preferible utilizar lo que tienes y estrujarte el cerebro un poquito mas, pero como tu veas.
Un saludo a tod@s
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Windows XP Pro y Filemaker 8 Advanced
|