Hola
Con esto generas el siguiente numero de la tabla, luego simplemente lo guardas.
Código Delphi
[-]
ADOQuery1.SQL.Text:='SELECT DISTINCTROW Max([Factura].[CodFactura])AS [CodFacturaa]FROM Factura';
ADOQuery1.Open;
ECodFactura.Text:= IntToStr(ADOQuery1.Fields[0].AsInteger+1);
Saludos