Ir al contenido



Foto

[RESUELTO] ZEOS Lib ZTable


  • Por favor identifícate para responder
6 respuestas en este tema

#1 mightydragon_lord

mightydragon_lord

    Advanced Member

  • Miembros
  • PipPipPip
  • 73 mensajes

Escrito 20 abril 2010 - 05:30

hola a todos y de antemano agradecerles por tomar un poco de su tiempo para leer este hilo.
Bueno me encuentro con que al poner en mi formulario el componente ZTable y agregar los campos dándole click derecho al mismo, puedo acceder a unas propiedades de cada campo, CustomConstraint, ConstraintErrorMessage, lo que deseo es que en la propiedad CustomConstraint de MI_CAMPO pongo MI_CAMPO IS NOT NULL, en ConstraintErrorMessage pongo debe digitar un valor para mi campo, pero al ingresar un registro no válida esto, al parecer la propiedad HasConstraint debe ir en True, el problema es que no me deja cambiar esta propiedad, por favor ayúdenme a encontrar una solución a esto, muchas gracias.
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.394 mensajes
  • LocationRepública Dominicana

Escrito 20 abril 2010 - 07:13

Si no funciona de esa manera, lo mejor que puedes hacer es usar la propiedad Required, al estar en True obliga a que el campo no pueda estar en NULL sólo debes capturar esa propiedad, te dejo un procedimiento que realizé la cual recorre todos los campos persistentes con la propiedad Required en True:



delphi
  1. procedure CamposVacios(Data: TDatasource);
  2. var nIdx: Integer;
  3. begin
  4.   for nIdx := 0 to Data.DataSet.FieldCount -1 do begin
  5.     if (Data.DataSet.Fields[nIdx].Value = NULL) And (Data.DataSet.Fields[nIdx].Required = True) then begin
  6.       Showmessage('La Casilla ' +Data.DataSet.Fields[nIdx].DisplayLabel+ ' está vacía.');
  7.       Data.DataSet.Fields[nIdx].FocusControl;
  8.       Abort;
  9.     end;
  10.   end;
  11. end;



Saludos.
  • 0

#3 mightydragon_lord

mightydragon_lord

    Advanced Member

  • Miembros
  • PipPipPip
  • 73 mensajes

Escrito 21 abril 2010 - 12:43

muchas gracias enecumene, es justo lo que necesito, ahora espero me puedas ayudar con esto, en donde debo meter este código, en que evento? para que al tratar de guardar en la base de datos salte el error, ya que si lo pongo en AfterInsert de la ZTable valida es cuando inserto pero no lo hace cuando le digo que lo guarde, no se si me expliqué bien, muchas gracias.
  • 0

#4 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 21 abril 2010 - 12:55

muchas gracias enecumene, es justo lo que necesito, ahora espero me puedas ayudar con esto, en donde debo meter este código, en que evento? para que al tratar de guardar en la base de datos salte el error, ya que si lo pongo en AfterInsert de la ZTable valida es cuando inserto pero no lo hace cuando le digo que lo guarde, no se si me expliqué bien, muchas gracias.


Estás guardando mediante el click de un botón o algo parecido ?... Podría ser en este evento, antes de hacer el Post de la tabla...

Saludox ! :)
  • 0

#5 mightydragon_lord

mightydragon_lord

    Advanced Member

  • Miembros
  • PipPipPip
  • 73 mensajes

Escrito 21 abril 2010 - 01:33

gracias por responder Fenareth, la respuesta es no, estoy guardando mediante un TDBNavigator, la inserción y edición se hace mediante un TDBGrid.
  • 0

#6 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.481 mensajes
  • LocationVenezuela

Escrito 21 abril 2010 - 02:08

Utiliza el evento onBeforePost de la tabla, allí copias el código que te dio enecumene y funcionara como lo deseas.
  • 0

#7 mightydragon_lord

mightydragon_lord

    Advanced Member

  • Miembros
  • PipPipPip
  • 73 mensajes

Escrito 21 abril 2010 - 03:06

Muchisimas gracias a todos!!!
es exactamente lo que necesitaba.
  • 0