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 20/04/2011, 17h56   #1
Nouveau Membre du Club
 
Homme
Inscription : mars 2009
Messages : 94
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2009
Messages : 94
Points : 32
Points : 32
Par défaut Checkbox dans un formulaire

Bonjour,

j'ai écrit ce petit code dans le formulaire, supposé compacter la base si la case de la checkbox case est cochée à la fermeture.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
Private Sub Compact_Click()
 
    If Me.COMPACT.Value = False Then
    'compact current file
        Application.SetOption ("Auto Compact"), False
    Else
    'do nothing
        Application.SetOption ("Auto Compact"), True
    End If
 
End Sub
La valeur par défaut est "false".

Le code marche sauf dans le cas où je coche puis ferme l'appli.
La base se compacte normalement mais à la réouverture de la base, il faut je coche et redécoche pour empêcher un nouveau compactage alors que la case est initialement décochée.

Comment faire pour éviter cela?

Merci par avance
piflechien73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 18h04   #2
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonjour.

C'est normal puisque le code ne s'exécute que quand tu cliques sur ton option.
Une idée, parmi bien d'autres : tu utilises le même code mais pas le même évènement, soit la fermeture du formulaire, plutôt que le click sur le contrôle.

Cordialement,

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 17h37   #3
Nouveau Membre du Club
 
Homme
Inscription : mars 2009
Messages : 94
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2009
Messages : 94
Points : 32
Points : 32
Et oui...

Un peu de vacances m'aura fait du bien.

J'ai finalement paramétré l'option Auto compact en false dans un code appelé par une macro "Autoexec".

Code :
1
2
3
4
5
Sub DESACTIVATE_COMPACT()
 
Application.SetOption ("Auto Compact"), False
 
End Sub
Du coup le compactage ne s'effectue vraiment qu'à la demande

Merci de votre réponse
piflechien73 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 10h28.


 
 
 
 
Partenaires

Hébergement Web