Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Compactage base Access impossible

2 réponses
Avatar
Fred
Bonjour =E0 tous,

J'ai utilis=E9 la m=E9thode utilisant JetEngine pour compacter ma base
Access.
Le probl=E8me c'est que je ne peux pas effetuer cette t=E2che car la base
est, selon le message d'erreur, d=E9j=E0 ouverte en =E9criture par
l'administrateur qui n'est autre que moi m=EAme.

Juste avant cette t=E2che j'ai effectu=E9 des requ=EAtes d'Update et
d'Insert en pagaille sans le moindre pb et je ferme syst=E9matiquement
ma base apr=E8s chaque requ=EAte.

Pour mes requ=EAtes, j'utilise la m=E9thode :

Dim cnn As New ADODB.Connection
cnn.Open _
"Provider=3DMicrosoft.Jet.OLEDB.4.0;" & _
"Data Source=3D" & Data_Base_Path & "base.mdb;" & _
"Jet OLEDB:Engine Type=3D5;"

Peut-=EAtre qu'il y a un conflit entre les 2 m=E9thodes ?

Merci de m'apporter vos lumi=E8res sur le sujet car l=E0, je s=E8che.

2 réponses

Avatar
ns
Salut,

Ajouter la bibliothèque : Microsoft Jet and Replication Objects

Dans l'exemple :
Fichier source : D:index.mdb
Fichier destination : D:index-cp.mdb

========================================= Dim jro As jro.JetEngine

Set jro = New jro.JetEngine

If Dir("d:index-cp.mdb") <> "" Then Kill "d:index-cp.mdb"

jro.CompactDatabase _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=D:index.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=D:index-cp.mdb;" & _
"Jet OLEDB:Encrypt Database=True"
=========================================
Cordialement
NS

"Fred" a écrit dans le message de
news:
Bonjour à tous,

J'ai utilisé la méthode utilisant JetEngine pour compacter ma base
Access.
Le problème c'est que je ne peux pas effetuer cette tâche car la base
est, selon le message d'erreur, déjà ouverte en écriture par
l'administrateur qui n'est autre que moi même.

Juste avant cette tâche j'ai effectué des requêtes d'Update et
d'Insert en pagaille sans le moindre pb et je ferme systématiquement
ma base après chaque requête.

Pour mes requêtes, j'utilise la méthode :

Dim cnn As New ADODB.Connection
cnn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Data_Base_Path & "base.mdb;" & _
"Jet OLEDB:Engine Type=5;"

Peut-être qu'il y a un conflit entre les 2 méthodes ?

Merci de m'apporter vos lumières sur le sujet car là, je sèche.
Avatar
Fred
Ca y est ! J'ai trouvé le pb.
En fait, le compactage était en conflit avec une boîte de dialogue
qui contenait un objet ODBC.
Donc, j'ai mis l'appel du compactage après l'unload du form et ça
fonctionne.

En tout cas, merci de vos réponses