Ver Mensaje Individual
  #97  
Antiguo 25-10-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 26
maeyanes Va por buen camino
A ver... esto lo pueden hacer tan fácil como esto:

Código Delphi [-]
function GetAlbaranNextNo: Integer;
begin
  with TADOQuery.Create(nil) do
    try
      // Aquí inicializas con la conexión a la base de datos...
      SQL.Text := 'select max(Num_Albaran) from Albaranes';
      try
        Open;
        Result := Fields[0].AsInteger + 1;
        Close
      except
        ShowMessage('Ocurrió un error obteniendo número de Albarán')
      end
    finally
      Free
    free
end;

// Como usarlo:
procedure DataModule1.TablaAlbaranNewRecord(ADataSet: TDataSet);
begin
  TablaAlbaran.FieldByName('Num_Albaran').AsInteger := GetAlbaranNextNo
end;

Esto es, al usar el evento OnNewRecord de la tabla albaranes, le asignas el número que le corresponde. Al hacer esto, si llegas a cancelar el albarán no pasa nada...


Saludos...
Responder Con Cita