OVH Cloud OVH Cloud

Taille de fichier

15 réponses
Avatar
Joël GARBE
Bonjour,

Dans mes procédures VBA, je commence par supprimer des enregistrements avant
de les recréer...

Ceci a pour conséquence d'augmenter la valeur des clés primaires de ces
tables, et par la-même augmenter la taille des fichiers, même après
compactage.

Ma question est la suivante :

Est-il possible (et si oui comment !) de réinitialiser la numérotation
automatique des clés primaires après suppression des enregistrements, sans
refermer la base (et si possible, sans recompacter)

Question subsidiaire : peut-on compacter la base sans la fermer-ouvrir ?

Vous en remerciant par avance,

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr

5 réponses

1 2
Avatar
Joël GARBE
Je reviens vers toi car l'instruction :

LaTable.Fields.Append fld

provoque une erreur. Tout le reste semble passer !

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Raymond [mvp]" a écrit dans le message de
news: %
Objection, Votre Honneur !
si le numauto est une clé primaire et qu'elle n'est utilisée dans aucune
relation avec une autre table on peut renuméroter le champ à partir de 1
en VBA.
voir: http://officesystem.access.free.fr/ex_champ_numeroauto.htm
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pierre CFI [mvp]" a écrit dans le message de
news:
trés mauvaise question, tu peux retourner au dodo

--
Pierre CFI
MVP Microsoft Access






Avatar
Raymond [mvp]
Ce qui veux dire que ton champ numauto fait partie de plusieurs index. la
fonction n'enlève que la primarykey mais tu dois avoir un autre index avec
ce champ ce qui empêche de supprimer le champ et bien sûr de le recréer.
si tu dois le faire souvent, inclus tous les index dans la fonction.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Joël GARBE" a écrit dans le message de news:
42612fe2$0$11699$
Je reviens vers toi car l'instruction :

LaTable.Fields.Append fld

provoque une erreur. Tout le reste semble passer !

--

Bien cordialement,

Joël GARBE


Avatar
Joël GARBE
Heuuuu non non, c'est la seule clé primaire..

Question : PrimaryKey est à inscrire tel quel où est-ce le nom du champ ?
(je l'ai laissé tel quel !)

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Raymond [mvp]" a écrit dans le message de
news:
Ce qui veux dire que ton champ numauto fait partie de plusieurs index. la
fonction n'enlève que la primarykey mais tu dois avoir un autre index avec
ce champ ce qui empêche de supprimer le champ et bien sûr de le recréer.
si tu dois le faire souvent, inclus tous les index dans la fonction.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Joël GARBE" a écrit dans le message de news:
42612fe2$0$11699$
Je reviens vers toi car l'instruction :

LaTable.Fields.Append fld

provoque une erreur. Tout le reste semble passer !

--

Bien cordialement,

Joël GARBE







Avatar
Raymond [mvp]
c'est le nom de l'index.
clique sur l'icône index , à droite de l'icone clé primaire et tu auras la
liste des index. c'est ces index-là qu'il faut supprimer.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Joël GARBE" a écrit dans le message de news:
426134a9$0$19315$
Heuuuu non non, c'est la seule clé primaire..

Question : PrimaryKey est à inscrire tel quel où est-ce le nom du champ ?
(je l'ai laissé tel quel !)

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Raymond [mvp]" a écrit dans le message
de news:
Ce qui veux dire que ton champ numauto fait partie de plusieurs index. la
fonction n'enlève que la primarykey mais tu dois avoir un autre index
avec ce champ ce qui empêche de supprimer le champ et bien sûr de le
recréer.
si tu dois le faire souvent, inclus tous les index dans la fonction.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Joël GARBE" a écrit dans le message de news:
42612fe2$0$11699$
Je reviens vers toi car l'instruction :

LaTable.Fields.Append fld

provoque une erreur. Tout le reste semble passer !

--

Bien cordialement,

Joël GARBE











Avatar
Joël GARBE
Cela progresse,

en supprimant la clé primaire, tout en laissant le champ numéotation auto,
cela semble fonctionner correctement.

Maintenant la question est l'utilité de la clé primaire ?

On peut s'en passer ? Vais-je réellement en avoir besoin comme le disait
Pierre ? Comment le savoir ?

Même si on en reste là, un grand merci ! (j'étudie cette histoire de clé
primaire ! en visitant ton site)

Et bon week-end !
--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Raymond [mvp]" a écrit dans le message de
news: O%
c'est le nom de l'index.
clique sur l'icône index , à droite de l'icone clé primaire et tu auras la
liste des index. c'est ces index-là qu'il faut supprimer.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Joël GARBE" a écrit dans le message de news:
426134a9$0$19315$
Heuuuu non non, c'est la seule clé primaire..

Question : PrimaryKey est à inscrire tel quel où est-ce le nom du champ ?
(je l'ai laissé tel quel !)

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Raymond [mvp]" a écrit dans le message
de news:
Ce qui veux dire que ton champ numauto fait partie de plusieurs index.
la fonction n'enlève que la primarykey mais tu dois avoir un autre index
avec ce champ ce qui empêche de supprimer le champ et bien sûr de le
recréer.
si tu dois le faire souvent, inclus tous les index dans la fonction.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Joël GARBE" a écrit dans le message de news:
42612fe2$0$11699$
Je reviens vers toi car l'instruction :

LaTable.Fields.Append fld

provoque une erreur. Tout le reste semble passer !

--

Bien cordialement,

Joël GARBE















1 2