Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-07-2017
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
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
  #2  
Antiguo 15-07-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Quita el first.
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;
Responder Con Cita
  #3  
Antiguo 15-07-2017
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Muchas gracias Antonio, siempre atentos.
Ha ido de fábula, sois unos cracks.

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Rellenar automaticamente un campo de un DBGrid al añadir filas Delphitest Varios 2 09-01-2015 18:43:36
Lectura secuencial con Tadoquery miguelcba Conexión con bases de datos 3 16-10-2008 17:44:10
Imprimir de forma secuencial archivos pdf en delphi richy08 Varios 1 03-05-2008 21:18:12
Como rellenar campo de tabla JODELSA Conexión con bases de datos 6 28-02-2005 22:31:49
Rellenar un ListBox con los registros de un campo de la BD Nbull SQL 11 30-12-2004 14:34:19


La franja horaria es GMT +2. Ahora son las 01:54:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi