Niko
23-09-2005, 18:31:54
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:
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.
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:
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.