Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-05-2011
negrokau negrokau is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 210
Poder: 14
negrokau Va por buen camino
Talking registro vacio not null..!!

hola.. tengo un formulario, con los siguientes registros cod_usuario (primari key), nombre(not null) y documento_nro (not null), mi pregunta es la siguiente, al guardar quiero que me salte un showmessage "Debe completar NOMBRE", si es que no lo hizo, por que es un registro not null, uso interbase y query, muchas gracias gracias por su tiempo...
Responder Con Cita
  #2  
Antiguo 20-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
me imagino que el formulario que estas haciendo es un mantenimiento o algo parecido

lo que puedes hacer es utiilzar el Evento OnValidate que lo encuentras en el campo ya sea de tu query o de tu tabla

en una proxima ocasion seria bueno que detallaras un poco mas, puesto que el comentario que te estoy haciendo se basa en una "suposicion" de lo que quieres hacer, entonces al tener las cosas mas claras podrias obtener mejores respuestas

saludos
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 20-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Otra opción. La clase TField y sus descendientes tienen la propiedad Required de tipo Boolean que si está en True y el valor del campo sin asignar, disparará una excepción con la advertencia que buscas si se intenta guardar.
Tenés dos maneras de asignarla: si tenés declarados los campos persistentes, desde el Field Editor y si no por código:
Código Delphi [-]
  IBDataSet1.FieldByName('TU_CAMPO').Required:= True;
  // o con IBQuery.
  IBQuery1.FieldByName('TU_CAMPO').Required:= True;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 20-05-2011
negrokau negrokau is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 210
Poder: 14
negrokau Va por buen camino
yo estaba pensando algo asi:

Código Delphi [-]
if NOMBRE.text=' ' then
SHOWMESSAGE('debe ingresar un NOMBRE');
query.edit;
else
query.post;

corrijanme si esta mal por favor... gracias...
Responder Con Cita
  #5  
Antiguo 20-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
pensemos un poquito

si mas o menos hace lo que tu dices, solo te funcionaria bien con 1 solo dbedit, puesto que al tener "algun" dato, confirmaria la grabacion mediante el post, si esta rutina la implementas en todos los dbedits que tengas haria post despues de cada uno de ellos (con su consiguiente error)

por eso al principio te pedi que fueras un poco mas claro...
la forma que tu mas o menos quieres seria algo asi (siempre suponiendo)

Código Delphi [-]
 
procedure TfrmNumeraciond.edtCodigoExit(Sender: TObject);
begin
  If EdtCodigo.Text = '' Then
    Begin
      SHOWMESSAGE('debe ingresar un NOMBRE');
      edtCodigo.SetFocus;
    end;
end;
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #6  
Antiguo 21-05-2011
negrokau negrokau is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 210
Poder: 14
negrokau Va por buen camino
sabes, no me sale, me salta el mensaje, pero despues me salta el error de que no puede guardar un campo nulo... como puedo hacer que no me saltar error de guardar? gracias.....
Responder Con Cita
  #7  
Antiguo 22-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Con el código que te pusieron arriba, en teoría no podrías salir del TDBEdit hasta que no ingreses algo.

Pero, si podés ponenos:
. El código que estás usando.
. Tipo de dato del campo que dá el error.
. Si tenés declarada alguna máscara para ese campo.
. En que momento o línea de código te arroja la excepción.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 22-05-2011 a las 00:17:12.
Responder Con Cita
  #8  
Antiguo 26-08-2011
negrokau negrokau is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 210
Poder: 14
negrokau Va por buen camino
Talking

buenas.... como uso este? o donde lo ubico?
Código Delphi [-]
IBQuery1.FieldByName('TU_CAMPO').Required:= True;
Responder Con Cita
  #9  
Antiguo 27-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por negrokau Ver Mensaje
buenas.... como uso este? o donde lo ubico?
Código Delphi [-]
IBQuery1.FieldByName('TU_CAMPO').Required:= True;
Hola.

Se usa tál como está en el código.

Donde ubicarlo ? Puede ser en el evento OnCreate u OnShow del form donde está declarado el TIBQuery.
Eso sí, tomá en cuenta que "TU_CAMPO" debe ser reemplazado por el nombre que le diste al campo en la creación de la tabla.

Por ejemplo:
Código Delphi [-]
procedure TForm1.FormShow(Sender: TObject);
begin
  IBDataSet1.FieldByName('NOMBRE_DEL_CAMPO').Required:= True;
  ...
end;
Si intentás guardar un registro en el que el campo "NOMBRE_DEL_CAMPO" no tenga un valor asignado, recibirás el mensaje:
Cita:
Es necesario que el campo 'NOMBRE_DEL_CAMPO' contenga algún valor
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 27-08-2011
negrokau negrokau is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 210
Poder: 14
negrokau Va por buen camino
Talking

Probe como me sugeriste pero no funciona
Código Delphi [-]
procedure TF_COMPRAS.FormCreate(Sender: TObject);
begin
DM.Q_COMPRAS.FieldByName('FECHA').Required:=True;
DM.Q_COMPRAS.FieldByName('CANTIDAD').Required:=TRUE;
DM.Q_COMPRAS.FieldByName('IMPORTE').Required:=True;

end;
sera que algo hice mal?
Responder Con Cita
  #11  
Antiguo 27-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.
Cita:
Empezado por negrokau Ver Mensaje
Probe como me sugeriste pero no funciona
Código Delphi [-]
procedure TF_COMPRAS.FormCreate(Sender: TObject);
begin
  DM.Q_COMPRAS.FieldByName('FECHA').Required:=True;
  DM.Q_COMPRAS.FieldByName('CANTIDAD').Required:=TRUE;
  DM.Q_COMPRAS.FieldByName('IMPORTE').Required:=True;
end;
sera que algo hice mal?
No, no hay nada mal, la asignación a la propiedad es correcta y tendría que funcionar.

Leyendo en tu primer post:
Cita:
uso interbase y query
Veo que usas un IBQuery por lo que te hago una consulta: ¿ Como estas realizando la inserción del registro, tenés un IBUpdateSQL asociado al IBQuery?

Sería útil poder ver algo del código que usas para hacer la inserción.


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 27-08-2011 a las 16:52:20.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Campo vacio en dbf lKinGl Varios 17 11-11-2008 15:21:28
opendialog vacio? Yun-i Varios 4 30-10-2008 20:16:47
bookmarklist vacío jsanchez OOP 0 12-06-2007 00:55:16
cambiar campo null a not null andressanchez Firebird e Interbase 8 18-09-2006 22:00:09
Registro Vacio en un DBGrid si existe GENERATOR gluglu Conexión con bases de datos 1 08-02-2005 12:01:59


La franja horaria es GMT +2. Ahora son las 11:57:37.


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
Copyright 1996-2007 Club Delphi