Ver Mensaje Individual
  #1  
Antiguo 15-07-2017
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Reputación: 17
jafera Va por buen camino
Rellenar un campo con un recorrido secuencial de la tabla

Buenas tardes a todos.

Hace un tiempo que no ponia ninguna consulta pues he dejado un poco abandonados los proyectos que tenia al funcionar correctamente para mis necesidades, aunque no he dejado de visitar el Club casi a diario.

Mi problema actual radica en que me ha surgido la necesidad de incluir un campo autoincrementable en una tabla existente, con lo que he modificado la tabla, le he insertado el campo AUTOI del tipo integer Not Null y el valor es 0 actualmente.
Ahora quiero recorrer el dataset y empezando por el registro 1 hasta el último que le ponga a AUTOI el valor 1, 2, 3, ......, n

He creado un botón para realizar el proceso y le he puesto este código:

Código Delphi [-]
procedure TF_Material.Button7Click(Sender: TObject);
VAR i,a:INTEGER;
begin
        F_ModulDades.Material.Last;
        F_ModulDades.Material.First;
        F_ModulDades.Material.RecordCount;
        a:=F_ModulDades.Material.RecordCount;
        Label58.Caption:= inttostr(a);
        for i:= 1 to a do
        begin
          F_ModulDades.Material.First;
          F_ModulDades.Material.Edit;
          F_ModulDades.MaterialAUTOI.Value:= i;
          F_ModulDades.Material.Post;
          F_ModulDades.Material.Next;
        end;
end;

Pero el resultado obtenido es en el registro 1 el valor 1327, que es el último valor y los demás a 0.
Supongo que el método de recorrido no debe ser el correcto y algo me falta.
Si alguien me puede echar un cablecito, pues muchísimas gracias por adelantado.

Nota: Este proceso sólo se realizará una vez, luego ya tengo puesto que en el alta de un n uevo artículo lo añada automáticamente.

Saludos

Josep
Responder Con Cita