Ver Mensaje Individual
  #10  
Antiguo 20-03-2015
wilcg wilcg is offline
Miembro
 
Registrado: abr 2014
Posts: 107
Reputación: 11
wilcg Va por buen camino
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; // aqui el nombre del campo
  if NCodigo = 0 then
    Result := 1000000001 // si esta en 0 indicamos de que numeracion queremos empezar
  else
    Result := NCodigo + 1;
end;

PASO 3
uso
Código Delphi [-]
Edit1.Text := IntToStr(ObtenerCodigo);

y listo.
Responder Con Cita