Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Duda sobre una excepción (https://www.clubdelphi.com/foros/showthread.php?t=27204)

Mathom 15-11-2005 11:32:22

Duda sobre una excepción
 
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??

Código Delphi [-]
  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

Aclaración
 
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:

Código Delphi [-]
 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

Un millón de gracias una detrás de otra
 
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


La franja horaria es GMT +2. Ahora son las 17:55:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi