Para completar un poco...En Bases de datos Sqls, Al hacer un "tabla.insert", no se guarda al final de tabla. Esto se hace por eficiencia, no tiene sentido irse al final de la tabla para insertar y después volver a donde se estaba.
Se busca un hueco de un registro eliminado (por ejemplo) y se inserta allí mismo.
En Paradox y demás BBDD de escritorio, el "tabla.Append" sí lo inserta al final de la tabla. El "tabla.insert" lo hace donde pueda.
Te recomiendo usar un tZQuery de esos con el sql : "select codig from tabla order by codig" y que hagas una rutina que usarás más de lo que crees, sobre todo si la aplicación es multiusuario.
Código Delphi
[-]
procedure CampoALista (campo, tabla : string; Lista : TStrings);
begin
zqry.sql.text := Format ('select %s from %s order by %s', [campo, tabla, campo]);
zqry.Open() ; while not zqry.eof() do begin
lista.Add(zqry.FieldbyName(campo). asstring));
zqry.next();
end;
zqry.Free();
end;
Ahora la puedes llamar:
Código Delphi
[-]
Form1.combobox1.items.Clear;
CampoALista( 'codig', 'nombretabla', Form1.combobox1.items )
Saludos