Ver Mensaje Individual
  #21  
Antiguo 31-05-2012
servicomp servicomp is offline
Miembro
 
Registrado: oct 2003
Ubicación: Cartago
Posts: 153
Reputación: 21
servicomp Va por buen camino
Cordial saludo, despues de un tiempo, he solucionado el problema y deseo compartir con ustedes como fue la solución.

Lo que se hace es capturar por medio del evento OnKeyPress del DBEdit, capturamos la tecla que se ha pulsado, si esta es el Enter (#13) o el Tab (#9), hacemos una busqueda en SQL con la palabra escrita en el DBEdit, si el Query arroja un registro en su busqueda, el registro ya existe en la base de datos, y se toma la desición ha hacer.

El codigo que usamos es el siguiente, para que lo coloquen en practica y si es de mejorarlo, adelante.

Código Delphi [-]
procedure TForm1.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then  // si pulsamos la tecla enter
  begin
    IBQ1.Close;  // cerramos la busqueda
    IBQ1.SQL.Clear;
    IBQ1.SQL.Add('SELECT CODIGO, NOMBRE, APELLIDO, CIUDAD, TELEFONO FROM USUARIO WHERE CODIGO Starting With :Nom');
    IBQ1.ParamByName('Nom').AsString:=DBEdit1.Text;
    IBQ1.Open; // Activamos la Busqueda
    if IBQ1.RecordCount > 0 then
    begin
       Application.MessageBox('El registro ya existe, se va a editar','Mensaje del sistema',0);
    end;
  end
  else begin
  end;
end;

ya lo probamos y funciona super.

El unico problema que tenemos es que no cargo la información de los otros DBEdit en la forma, creo que por la información lo tenemos en un IBQ1, y necesitamos colocarlo en moto edición y que la información se nos cargue en los demas DBEdit. Si alguien tiene una solución para este problema, agradeceria su publicación.
Responder Con Cita