Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 09-03-2012
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
La mejor opción:
En los componentes de base de datos seguramente tienes un evento BeforePost. Es este evento deberías poner tu código de validación o buscar el número que le asignarás.
Por ejemplo, en mis programas hago algo parecido a esto:
Código Delphi [-]
OnBeforePost(DataSet)
begin
   // Asigno MAX(CODIGO)+1
   if (DataSet.State = dsInsert) then
   begin
      DataSet.FieldByName('CODIGO').AsInteger := BuscaMaxCodigo + 1;
   end;
end;

Un caso real de clientes en mi aplicación:
Código Delphi [-]
procedure TDMClientes.QMClientesNewRecord(DataSet: TDataSet);
var
  ...
begin
  QMClientesEMPRESA.AsInteger := Entorno.Empresa;
  QMClientesEJERCICIO.AsInteger := Entorno.Ejercicio;
  QMClientesCANAL.AsInteger := Entorno.Canal;
  QMClientesCLIENTE.AsInteger := 0;
  ...

procedure TDMClientes.QMClientesBeforePost(DataSet: TDataSet);
var
  ...
begin
  // Si esta en modo insercion y no le ha asignado a mano un nro de cliente
  if ((DataSet.State = dsInsert) and (QMClientesCLIENTE.AsInteger = 0)) then
     QMClientesCLIENTE.AsInteger := DMMain.Contador_E('CLI');
  ...

Última edición por duilioisola fecha: 09-03-2012 a las 08:49:21.
Responder Con Cita
 



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
validar dbedit para horario gonza_619 Varios 3 12-12-2010 10:15:03
validar dbedit q muestra horario gonza_619 Varios 9 07-12-2010 19:52:46
validar un dbedit moyo18 Conexión con bases de datos 32 08-01-2009 20:19:11
Validar un Dbedit? kman Varios 10 13-03-2007 04:07:11
validar dbedit yeison Cristman Conexión con bases de datos 1 29-07-2006 21:55:56


La franja horaria es GMT +2. Ahora son las 19:36:26.


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