COMPATAGE AUTOMATIQUE LORS DE LA FERMETURE ACCESS 97
cs_Patrice99
Messages postés1221Date d'inscriptionjeudi 23 août 2001StatutMembreDernière intervention 9 septembre 2018
-
6 août 2003 à 08:55
TigerFab
Messages postés115Date d'inscriptionsamedi 15 février 2003StatutMembreDernière intervention18 mai 2008
-
26 juil. 2005 à 14:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
TigerFab
Messages postés115Date d'inscriptionsamedi 15 février 2003StatutMembreDernière intervention18 mai 2008 26 juil. 2005 à 14:50
yes .. au début je comprenais pas cmt on trouvait le "oum" .. c'est les raccourcis clavier of course ... c'est super car on a ainsi à tout Access par un simple SendKeys (dans une langue définie seulement (fr ici)...)
Merci
A+
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 26 juil. 2005 à 13:58
pas en 97, en 2k oui par contre. Pour ça que j'ai spécifier dans le titre
cs_Patrice99
Messages postés1221Date d'inscriptionjeudi 23 août 2001StatutMembreDernière intervention 9 septembre 2018 26 juil. 2005 à 12:14
Cela correspond au menu Outils : Utilitaires : coMpacter
On peut le faire directement dans le formulaire avec SendKeys.
TigerFab
Messages postés115Date d'inscriptionsamedi 15 février 2003StatutMembreDernière intervention18 mai 2008 26 juil. 2005 à 11:36
EnvoiTouches %Oum : je connaissais pas ! Merci Patrice99, voilà ce que je recherchais depuis un bout de temps !
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 14 août 2003 à 13:29
le problème, c'est ce que j'explique, ça amrche pas, puisuqe la base de donnée est déjà ouverte, vu qu,on s'y trouve
ça fonctionne numéro 1, quand la base de donnée est fermer, masi pas quand elle est ouverte, puisqu'elle dois être ouvert en mode exclusive
dmapps
Messages postés7Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention14 mars 2007 14 août 2003 à 11:30
Pour compresser une base de données je propose la solution suivante depuis VB :
'** Fermeture de la base de données. ********************************************
'** Compression de la base de données. ******************************************
Dim JRO As JRO.JetEngine: Set JRO = New JRO.JetEngine
Dim OldName As String: OldName = GMDBFIC
Dim NewName As String: NewName = Replace("fichier.mdb", ".mdb", ".cdb")
'** Remplacement de l'ancien fichier par le nouveau. ****************************
Kill OldName: Name NewName As OldName
'** Ré-ouverture la base de données. ********************************************
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 6 août 2003 à 13:04
de rien
par contre domage, moi la macro fonctionne pas, puisque presque 100% des commande son bloquer, vu que le programme que j'ai fait est pour une entreprise. Donc protection par dessu protection.
pour 2k, je le savasi, c'est pour ça que j'avasi bien spécifier 97. Par contre, ta macro pourrasi être très utile pour beaucoup de monde. Donc merci.
nagattaque
Messages postés230Date d'inscriptionjeudi 29 mai 2003StatutMembreDernière intervention 5 juin 2007 6 août 2003 à 10:27
bon... en tout cas, merci a dragon car son programme fonctionne très bien et peut servir pour compacter une base a partir d'un autre programme que Access...
Enfin la macro Patrice99 est aussi très fonctionnelle, et pour résumer...
MERCI MERCI MERCI ..... lol
cs_Patrice99
Messages postés1221Date d'inscriptionjeudi 23 août 2001StatutMembreDernière intervention 9 septembre 2018 6 août 2003 à 08:55
Autre solution : appeler une macro qui pilote le menu Compacter depuis l'application :
Dim bCompactage As Boolean
Private Sub Form_Unload(Cancel As Integer)
If Not bCompactage Then
If vbYes = MsgBox("Voulez-vous compacter la base de données avant de quitter ?", _
vbYesNo Or vbQuestion) Then
Cancel = True
bCompactage = True
DoCmd.RunMacro "McCompacter"
' Ne marche pas ! :
'DoCmd.DoMenuItem acFormBar, 6, 5, 1
'DoCmd.DoMenuItem "Startup", "Tools", "Database Utilities", "Compact Database"
'DoCmd.DoMenuItem "Barre de menus", "Outils", "Utilitaires de base de données", "Compacter une base de données"
'DoCmd.RunCommand acCmdCompactDatabase
End If
End If
End Sub
Voici la macro "McCompacter" :
EnvoiTouches %Oum : C'est le seul moyen de compacter une base ouverte sous Access97 (pilotage du menu Compacter via le clavier !) ; sous Access2k et XP, une option permet de compacter en quittant
26 juil. 2005 à 14:50
Merci
A+
26 juil. 2005 à 13:58
26 juil. 2005 à 12:14
On peut le faire directement dans le formulaire avec SendKeys.
26 juil. 2005 à 11:36
14 août 2003 à 13:29
ça fonctionne numéro 1, quand la base de donnée est fermer, masi pas quand elle est ouverte, puisqu'elle dois être ouvert en mode exclusive
14 août 2003 à 11:30
'** Fermeture de la base de données. ********************************************
'** Compression de la base de données. ******************************************
Dim JRO As JRO.JetEngine: Set JRO = New JRO.JetEngine
Dim OldName As String: OldName = GMDBFIC
Dim NewName As String: NewName = Replace("fichier.mdb", ".mdb", ".cdb")
JRO.CompactDatabase _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + OldName, _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + NewName
'** Remplacement de l'ancien fichier par le nouveau. ****************************
Kill OldName: Name NewName As OldName
'** Ré-ouverture la base de données. ********************************************
6 août 2003 à 13:04
par contre domage, moi la macro fonctionne pas, puisque presque 100% des commande son bloquer, vu que le programme que j'ai fait est pour une entreprise. Donc protection par dessu protection.
pour 2k, je le savasi, c'est pour ça que j'avasi bien spécifier 97. Par contre, ta macro pourrasi être très utile pour beaucoup de monde. Donc merci.
6 août 2003 à 10:27
Enfin la macro Patrice99 est aussi très fonctionnelle, et pour résumer...
MERCI MERCI MERCI ..... lol
6 août 2003 à 08:55
Dim bCompactage As Boolean
Private Sub Form_Unload(Cancel As Integer)
If Not bCompactage Then
If vbYes = MsgBox("Voulez-vous compacter la base de données avant de quitter ?", _
vbYesNo Or vbQuestion) Then
Cancel = True
bCompactage = True
DoCmd.RunMacro "McCompacter"
' Ne marche pas ! :
'DoCmd.DoMenuItem acFormBar, 6, 5, 1
'DoCmd.DoMenuItem "Startup", "Tools", "Database Utilities", "Compact Database"
'DoCmd.DoMenuItem "Barre de menus", "Outils", "Utilitaires de base de données", "Compacter une base de données"
'DoCmd.RunCommand acCmdCompactDatabase
End If
End If
End Sub
Voici la macro "McCompacter" :
EnvoiTouches %Oum : C'est le seul moyen de compacter une base ouverte sous Access97 (pilotage du menu Compacter via le clavier !) ; sous Access2k et XP, une option permet de compacter en quittant