Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/11/2011, 17h13   #1
Membre du Club
 
Homme
Channel Support Coordinator
Inscription : avril 2011
Messages : 94
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 35
Localisation : Algérie

Informations professionnelles :
Activité : Channel Support Coordinator
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : avril 2011
Messages : 94
Points : 40
Points : 40
Envoyer un message via MSN à lakhdar16
Par défaut compacter manuellement la base de donnée en cour

Bonjour,
je voulais compacter ma base de donnée en cour d'utilisation via un code vba:

sur un module j'ai écris:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Public Function CompactDb()
'Fonction qui permet de compacter manuellement la base de donnée en cours.
'Attention à traduire les différents noms de controles, sauf Menu Bar qui semble indentique
'pour français, anglais et allemand.
 
CommandBars("Menu Bar"). _
   Controls("Outils"). _
   Controls("Utilitaires de Base de Données"). _
   Controls("Compacter une base de données"). _
   accDoDefaultAction
 
End Function
et sur le bouton quitter du menu général j'ai fais:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Quitter_Click()
    Dim StrMsg   As String
    Dim F As New StdFont
         F.name = Wingding
         F.Bold = True
 
        StrMsg = Msgbox("Vous êtes sur le point de quitter l'Application  ¤¤ ® GeStock ® ¤¤" & vbCrLf & "Voulez vous continuer?", vbOKCancel Or vbDefaultButton2 Or vbExclamation, "Quitter Application")
        If StrMsg = vbCancel Then
        Cancel = True            ' Cancel exit.
    Else
          CompactDb
          Application.Quit (acQuitSaveAll)              ' Save changes and exit.
    End If
End Sub

mais quand je clique sur Quitter je reçois le message suivant:

Citation:
Impossible de compacter la base de données en cours, en exécutant une macro ou un programme Visual Basic.
svp puis-avoir de l'aide pour compacter ma base de données en cour d'utilisation.

merci pour votre aide.
lakhdar16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 17h31   #2
Membre éclairé
 
Homme Michel
Développeur informatique
Inscription : février 2008
Messages : 263
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : février 2008
Messages : 263
Points : 309
Points : 309
Par défaut compacter en quittant

Pour compacter ta base en quittant, nul besoin de coder je pense.
Il devrait te suffire d'aller dans le menu

OUTILS /OPTIONS onglet MENU GENERAL et de cliquer sur "compacter lors de la fermeture"

Cela vaut pour ACCESS 2003 mais il doit y avoir la même chose dans les versions plus récentes

Michel
Orion34080 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/11/2011, 10h17   #3
Membre du Club
 
Homme
Channel Support Coordinator
Inscription : avril 2011
Messages : 94
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 35
Localisation : Algérie

Informations professionnelles :
Activité : Channel Support Coordinator
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : avril 2011
Messages : 94
Points : 40
Points : 40
Envoyer un message via MSN à lakhdar16
c'est résolu ici la réponse.

http://www.developpez.net/forums/d11...ctage-sortant/

j'avais le même problème alors je voulais compacter ma BD manuellement.
lakhdar16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h26.


 
 
 
 
Partenaires

Hébergement Web