Compacter base de donnée vb access

manhino Messages postés 63 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 7 août 2008 - 6 août 2008 à 15:12
manhino Messages postés 63 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 7 août 2008 - 7 août 2008 à 09:46
bonjour,

J'ai un petit soucis car je voudrai compacter une table de ma base de donnée par programmation vba.

J'ai une base de donnée dans laquelle j'ai un formulaire avec notament un bouton reinitialiser base qui me permet de vider les tables souhaité et de les remplir avec des valeurs d'origines. le probleme étant que dans une de mes tables j'ai un champ num auto (auto increment) que je voudrai refaire repartir de 1, et n'on pas de la derniere valeur enregistrer.
L'outils compacter table d'access marche très bien mais je souhaiterai l'automatiser.
Si vous pouvez m'aider.

Merci d'avance.

---------
Manhino
---------

8 réponses

cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
6 août 2008 à 15:24
Dim A As New Access.Application, S as String
...
A.CompactRepair(Fichier, S)
Copy(S, Fichier, True)
Delete(S)
....


à adapter

-- Y a autant de bugs dans un programme que de malles-façons dans une maison. Tout dépend de la taille --
0
manhino Messages postés 63 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 7 août 2008
6 août 2008 à 16:27
merci pour cette réponse rapide par contre il réside un soucis est que d'un module d'une base X je peut compacter cette base X, parce qu'apparement il ne faut pas que cela soit sur la base donnée courante pour pouvoir faire le traitement.

---------
Manhino
---------
0
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010
6 août 2008 à 16:33
Salut,
moi j'aime bien utiliser aussi AccApp.DBEngine.CompactDatabase
j'ai rien compris a ton dernier post sur ton module.

@+
youpi :)
0
manhino Messages postés 63 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 7 août 2008
6 août 2008 à 17:17
ok desoler je me suis mal exprimer je voulai juste dire que je croit avoir compris que l'on ne peut pas compacter la base de donnée a partir d'elle même.
C'est mieu comme sa j'espere.
Je vai essayer ta solution.

---------
Manhino
---------
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010
7 août 2008 à 09:21
effectivement, il faut qu'elle soit fermée et non bloquer par un autre utilisateur. tu as qu'as soit le faire en .net programme ou un plugin vsto.
@+
youpi :)
0
manhino Messages postés 63 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 7 août 2008
7 août 2008 à 09:35
ok merci

En .net je ne connait pas et le plugin vsto non plus peut tu m'éclairer un peu.

---------
Manhino
---------
0
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010
7 août 2008 à 09:44
tu peux le faire aussi en vba, dans une autre base mais c'est pénible. sinon si tu veux le faire en .net tu peux telecharger sur le site de microsoft visual studio 2008 express c'est gratuit (environ 66Mo) et pour vsto(Visual Studio Tools for Office) tu peux créer des plugins .net pour office. Mais tu peux le faire sans aussi.
J'avais pas regarder que tu étais dans la rubrique vb6/vba, le code est sensiblement identique en vba.
Si tu veux de l'aide en .net une fois que tu as telecharger visual je peux te donner le code pour faire ce que tu veux faire.
@+
youpi :)
0
manhino Messages postés 63 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 7 août 2008
7 août 2008 à 09:46
ok merci je vais voir sa
0
Rejoignez-nous