PDA

Ver la Versión Completa : Clave Vacia


istradlin
01-04-2005, 19:58:26
Tengo un formulario para introducir clientes en una bd firebird, el caso es que la clave principal es el NIF, y, si la dejo en blanco me da error y me sale del programa, como puedo hacer para que me avise de que tengo que cubrir el campo NIF sin que me cierre el programa?

Un saludo a todos y gracias de antemano.

geovany
01-04-2005, 21:03:11
AL momento de mandar los parametros verifica que no vaya en blanco es lo as sencillo

istradlin
01-04-2005, 21:06:27
bien el problema es, como hago eso :(

roman
01-04-2005, 21:40:00
No sé de qué manera estés haciendo la inserción pero si utilizas un dataset entonces basta que uses su evento BeforePost para hacer la validación. Si el campo no se llenó, usas abort para cancelar la inserción.

// Saludos

istradlin
01-04-2005, 21:55:31
si, estoy haciendo una insercion, uso un IBDataset.
Los datos los intruduzco en un grupo de DBEdits, uno para cada campo.
entonces yo cubro todos los campos y luego doy al boton este que es una V que esta en un DBNav.

Bien, me voy al evento beforeinsert del dataset entonces se me abrira para escribir codigo de delphi, y como le pongo:

if DBedit1.Text = "" then
begin
..
end;

¿? es asi como accedo a lo que esta escrito en un dbedit? y luego porque sustituyo los puntos dentro del if?
mmm ClientesDataset.Abort?
si os sirve de algo, el dataset clientes le puse una propiedad Transaction a un objeto transaction que tengo tambien en el modulo de datos.

un saludo.

roman
01-04-2005, 22:27:03
if DBEdit1.Text = '' then
abort;


También puedes acceder directamente al campo con el parámetro DataSet del evento:


if DataSet.FieldByName('nif') = '' then
abort;


Finalmente nota que no es BeforeInsert sino BeforePost.

// Saludos

jachguate
01-04-2005, 23:24:22
¿no basta poner la propiedad required del campo a true?

Hasta luego.

;)

roman
01-04-2005, 23:34:27
Supongo que sí basta. Lo malo es que a no ser que cambies los recursos de Delphi, obtendrás el mensaje de error en inglés y normalmente inentendible para el usuario final.

// Saludos

jachguate
01-04-2005, 23:46:52
Buen punto. En todo caso, yo prefiero el esfuerzo de cambiar una vez los recursos al castellano, y en cambio tener código mas limpio, que el esfuerzo de escribir esta validación 10,000 veces en mi vida... :D

Hasta luego.

;)

roman
01-04-2005, 23:54:03
También buen punto pero a fin de cuentas muchas veces es necesario de cualquier forma el uso del evento para validaciones menos inmediatas y bueno, no creo haber escrito mil veces este evento :D

La verdad es que nunca he usado traducciones de recursos pero acepto que esto ya es manía personal.

// Saludos

jachguate
01-04-2005, 23:55:22
acepto que esto ya es manía personal.
Estoy seguro querido amigo que no es la mas grave... :D:D