Ver Mensaje Individual
  #1  
Antiguo 23-09-2005
Niko Niko is offline
No confirmado
 
Registrado: may 2003
Ubicación: Fuenlabrada - Madrid
Posts: 55
Reputación: 0
Niko Va por buen camino
Autoincrementar Campo tipo 00/000

Hola a Todos:

A ver si me pueden hechar una mano.

Tengo un campo llamado CLIENTE al que tengo puesto en la tabla (paradox7) como NUMÉRICO. A la vez en el formulario le tengo puesta a la tabla en el evento ONNEWRECORD que me lo autoincremente en uno en cada nuevo registro. El código que utilizo para esto es el siguiente:

Código:
var Q : TQuery;
    Numero: integer;
begin
     Q := TQuery.Create(Self);
     Q.DatabaseName := 'C:\Archivos de programa\Presupuestos 1.0';
     try
        Q.SQL.Text := 'select max(Presupuesto) from TPresupuestos.DB';
        Q.Open;
        if Q.Fields[0].IsNull then
           Numero := 0
        else
           Numero := Q.Fields[0].AsInteger;
     finally
        FreeAndNil(Q);
     end;
   Table1.FieldByName('Presupuesto').AsInteger := Numero + 1;
end;
El problema es que yo quiero el número de cliente sea del tipo 00/000 - el 00 primero es para poner el año (2005 = 05) y los 000 siguientes para poner el cliente (001,002...). Para que pueda ponerlo así tengo que poner al campo CLIENTE en la tabla como ALPHANUMERICO porque sino no me deja poner la "/". Pero si lo pongo en ALPHANUMERICO no me lo autoincrementa por que no es un INTEGER válido (logicamente es por la "/"). Lo que yo quiero intentar hacer es poner que solo aumente los números X (00/XXX) y no el 00 principal.

Haciendo alguna modificación en el código que he puesto, sería posible??

Muchas Gracias de Antemano.

P.D: Hay otro problema con el campo CLIENTE, si se ponen ceros a la izquiera (lo digo por el año) se eliminan automáticamente al guardar la tabla. Hay alguna manera de solucionar esto??

Muchas Than`s de nuevo a Todos.
Responder Con Cita