Comprobar un campo al perder foco

 

 

 

Buenos días,

 

Estoy tratando de cambiar a mayúsculas el texto introducido en un campo. El campo en cuestion sobre el que quiero hacerlo lo tengo como formula alfabética. La pregunta es: ¿esto se puede hacer asi? o hay que hacerlo en un proceso previo al alta de ficha? He probado y cuando arranco el vclient se cuelga al arrancarlo. Luego intento reiniciar las instancias con la formula quitada y  ya nunca vuelve a funcionar.

 

 

 

Buenas.

Si el campo es una fórmula lo tienes fácil. En el contenido de la fórmula pon toUpper(CONTENIDO FORMULA).

Así ya tendrías el campo en mayúsculas sin falta de hacer un evento al perder foco.

Un saludo.

 

 

 

Jorge Velasco Fernández

THE SEED SOFTWARE COMPANY

jvelasco@theseedsc.com

Que pelea tengo con la V7. Te pongo una imagen de donde estoy colocando la funcion ToUPPER

[attachment=7086,707]

Buenos dias:

 

Estás usando el propio campo fórmula alfabética como contenido inicial de si mismo... y esto no puede funcionar. El campo fórmula tendría que albergar el valor de otro campo alfabético pasado a mayúsculas.

 

Pero si lo que quieres es que el usuario sólo pueda escribir mayúsculas, la solución es muy más fácil: Utiliza un campo alfabético normal (no fórmula) del tipo Alfa40 y ya lo tienes listo.

Este tipo de campo pasará a mayúsculas todo lo que escriba el usuario y no tendrás que ocuparte de transformarlo... eso si, no te guardará símbolos especiales y algunos otros caracteres.

 

En la lista de caracteres admitidos por el campo Alfa40 puedes ver cuales son y decidir si te sirve para tu caso o no.

 

Un saludo,

 

Fran.

fjpnovo@efeuno.org

www.efeuno.org

 

Perfecto, Solucion sencilla para algo que parecia un problema

 

Gracias

Buenas tardes, Tengo un problema similar, pero necesito colocar el nombre con acentos y también que incluya una coma, ya que el formato que necesito es por ejemplo: PÉREZ GONZÁLEZ, JOSÉ EDUARDO. Hay espacios, una coma y palabras acentuadas en mayúsculas, ¿cómo puedo hacer en este caso?.
Gracias!

@mirna.gonzalez
.
Creo que deberías mirar en la parte inferior del siguiente artículo, la tabla de caracteres permitidos para cada tipo de campo alfabético:
.
http://velneo.es/info_v7_710_es/velneo_vdevelop_v7/proyectos_objetos_y_editores/proyecto_de_datos/tabla/campo
.
. Creo que podrías usar el tipo de campo alfabético, Alfa 256, que contiene los acentos y otros caracteres especiales.
.
.
saludos
Antonio Vela
http.//www.velavisual.com

Inicialmente estaba usando ese, pero como también permite que se puedan usar minúsculas, entonces si el usuario lo escribe en minúsculas, asi se queda…ya revisé lo que me enviaste pero no hay ninguno que permita las mayúsculas acentuadas junto con el espacio y la coma. El mas parecido es el Alfa 64 pero no incluye los acentos :). Gracias por tu apoyo, si se te ocurre algo mas bienvenido sea!

Puedes usar un campo de tipo Alfa128, y usar un evento de tabla “Anterior al alta o modificacion” para convertir a mayusculas con la función “toUpper()”.

un saludo
José Luis
http://www.ascsl.com

Tambien puedes hacer lo mismo, campo “Alfa128” y funcion “toUpper()”, en un evento al perder el foco.

un saludo
José Luis
http://www.ascsl.com

Gracias!! me funcionó perfecto!

Oye Pepeto, sabes que lo había hecho, pero borré la solución y ahora no recuerdo como llamar a la función toUpper desde el evento de formulario, ¿cuál era el comando? Sorry…

Gracias por anticipado!
Mirna

La función la tienes en el icono de funciones del Asistente de fórmulas, en el grupo de “Cadena”:

toUpper(#CAMPO)

Creas un evento del formulario y luego una conexion de evento a la “Perdida de foco” del control

un saludo
José Luis
http://www.ascsl.com

Gracias Pepeto por tu diligente respuesta, pero lo que me falta (a ver si lo estoy haciendo bien), es la Instrucción en el Manejador del Evento del formulario que me permita invocar a la función. Entiendo que cuando dices “Crear un evento” te refieres a crear un Manejador de Evento, ¿es asi?. Pero busco en todas las instrucciones disponibles y no veo ninguna que me permita llamar a una función.

Gracias nuevamente!

Si, con evento, me refiero a “manejador de evento”

toUpper() es una función interna, y por tanto no la puedes llamar desde el proceso directamente, no se trata de una intruccion o comando de procesos.

Para llamarla, debes hacer un “SET variable, toUpper(#CAMPO)” o directamente un “Modificar campo, #CAMPO, toUpper(#CAMPO)”

un saludo
José Luis
http://www.ascsl.com

Listo!!! mil gracias

Mirna