Ver Mensaje Individual
  #30  
Antiguo 28-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
Hola
Bueno aqui estoy respondiendo a la duda de Tenporal, los cambios los vamos ha hacer en el From de articulos (FArticulos).
Primero:
El Componente DBNavigator1.
A este le quitamos las opciones de Post, Cancel, Refresh., no las necesitamos.
Segundo:
Colocamos un ADOQuery (AdoQuery1) en el from, lo conectamos igual que el adotable1 que tenemos al datamodule en connection (DataModule1.ADOConnection1).
Tercero:
Colocamos un Boton (Guardar) en el Form y en el evento OnClick, ponemos esto:
Código Delphi [-]
 If DBEdit1.Text <> '' then
   Begin
     ADOQuery1.Active:= false;
     ADOQuery1.SQL.Text:= 'Select CodProducto from Articulos Where CodProducto = :cod ';
     ADOQuery1.Parameters.ParamByName('cod').Value := DBEdit1.Text;
     AdoQuery1.Active := true;
     IF ADOQuery1CodProducto.AsString = DBEdit1.Text then
     begin
     MessageDlg('Código ya existe, favor seleccionar otro',mtError,[mbOK],0);
     DBEdit1.Text:= '';
     end
     else
     If ADOTable1.State = dsInsert then
     begin
     ADOTable1.Post;
     ADOTable1.Active:= False;
     ADOTable1.Active := true;
     end;
     end;
Creo que esta facil de entender.
Primero se verifica que el dbedit1 este vacio
Se coloca una consulta al query1 y se busca que, si el parametro es igual al dbedit1 salga un mensaje de lo contrario se grabe en la tabla y se refresque, siempre que la tabla este en modo insert (dsInsert).
Espero sea esto lo que preguntabas y te sirva.
Saludos
Responder Con Cita