wilcg |
20-03-2015 05:29:42 |
En fin este Access si que me invento un montón de errores, no podía dar con lo deseado, pero lo que no sabia es que no me iba dar por vencido, y después de tanto aquí la solución para otro que lo desee. Yo uso UNIDAC y creo que en otros componentes es muy parecido.
PASO 1
en el UniQuery1, clic derecho y selecionar Fields Editor y crear un campo del tipo integer con el nombre en mi caso va ha ser MaxCodigo, y automaticamente se renombrara el campo UniQuery1MaxCodigo.
PASO 2
Crear la funcion
Código Delphi [-]function TForm1l.ObtenerCodigo: Integer;
var
NCodigo: Integer;
begin
UniQuery1.Close;
UniQuery1.DisableControls;
UniQuery1.SQL.Text := 'select max( codigo ) as maxcodigo from clientes';
UniQuery1.Open;
UniQuery1.EnableControls;
NCodigo := UniQuery1MaxCodigo.AsInteger; if NCodigo = 0 then
Result := 1000000001 else
Result := NCodigo + 1;
end;
PASO 3
uso
Código Delphi [-]Edit1.Text := IntToStr(ObtenerCodigo);
y listo.
|