PDA

Ver la Versión Completa : Duda sobre una excepción


Mathom
15-11-2005, 11:32:22
Hola a todos, resulta que tengo un dbgrid con una tupla vacia y el resto con datos. El tema es que quiero poner un botón "nuevo" para crear un nuevo registro. El botón lleva a un formulario nuevo donde insertamos los datos. Lo que quiero es que si la tabla está en un registro con datos salga un mensage que dice que se situe en el registro en blanco y si está en blanco pues que acceda al formulario "nuevo". El código que he puesto es el siguiente pero me da un error en tiempo de ejecución si el registro tiene datos. Podéis decirme a que se debe??


procedure TForm1.Button9Click(Sender: TObject);
Var
Form2 : TForm2;
begin
if DBEdit1.text = '' then
Form2 := TForm2.Create (Self);
Try
Form2.BorderStyle := BsDialog;
Form2.ShowModal;
Finally
Form2.Destroy;
End;
if DBEdit1.text <> '' then
ShowMessage ('¡Sitúese en la celda en blanco para crear un nuevo registro!')
end;

Gracias

Mathom
15-11-2005, 11:35:22
Os preguntaréis el por qué del registro en blanco. Pues sencillo, cuando lo hacía sin registro en blanco los dbedits del formulario nuevo recogían los datos del registro por lo que lo editaba en vez de crear uno nuevo. Ya que estamos me podeis indicar algún enlace de como crear una excepción para que no me deje insertar un registro repetido??? Se pueden crear vistas de una tabla paradox??? se hacen con la funcion LookUp??

Me falta mucho, muchísimo por aprender....:(

luisgutierrezb
15-11-2005, 15:18:53
De tu codigo:


procedure TForm1.Button9Click(Sender: TObject);
Var
Form2 : TForm2;
begin
if DBEdit1.text = '' then
Form2 := TForm2.Create (Self);
Try
Form2.BorderStyle := BsDialog;
{...}

aqui tienes que tomar en cuenta que el try se ejecuta de cualquier forma, lo que debes hacer es poner un begin y un end, en la parte "then" del if, porque al intentar asignar el borderstyle y la forma no esta creada, te marca el error...

Mathom
15-11-2005, 17:39:48
Creo que el título es bastante explícito, muchas gracias luisgutierrezb... ara algo evidente pero estaba tan ofuscado que no lo veía por ningún lado...gracias me acabas de ahorrar un buen dolor de cabeza.:p