Ver Mensaje Individual
  #2  
Antiguo 26-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
Puedes usar la misma consulta qry_Articulos para ver si el que está introduciendo ya existe:
Código Delphi [-]
var ls_cuenta: string;
begin
  tbl_detallecotizacion.Edit;
  ls_cuenta := Tbl_Detallecotizacion.FieldbyName('Codigo_Articulos').AsString;
  Qry_Articulos.Close;
  with qry_Articulos do begin
 with sql do 
  begin
    text := ' select * from articulos where codigo_articulos = '+ quotedstr(ls_cuenta) + ' and codigo_maestro = ' + quotedstr(Codigo_maestro_de_la_tabla_detalle);
    Open;
    if qry_articulos.isempty then
    begin 
       // vamos bien, en esta factura no existe ese artículo
      Close; // cerramos la consulta:
      clear;
      add ('select * from Articulos');
      add ('where Codigo_Articulos = ');
      add (''''+ls_cuenta+'''');
      prepare; // sobraba una letra "d"
      open;
      if recordcount = 0 then
      begin
        ShowMessage('Cuenta no existe en Catalogo de cuentas');
      end
    end
    else 
       raise exception.create('el artículo ' + lscuenta + ' ya existe en la factura');
end;
if Dts_DetalleOrden.State in [dsinsert,dsedit] then
Tbl_Detallecotizacion.FieldByName('Descripcion_Articulos').Asstring := Qry_Articulos.FieldByname('Descripcion_Articulos').Value;


Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita