Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" a écrit dans le
message de news:Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" <MichelBoivin@discussions.microsoft.com> a écrit dans le
message de news: 1A01013D-12BE-47AD-A60B-BE12091BD24D@microsoft.com...
Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" a écrit dans le
message de news:Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Merci Jean-Yves pour cette suggestion.
J'ai procédé aux essais et la méthode suggérée ne suffit pas. En effet,
je
«détache» avec succès toutes les tables attachées par l'une ou l'autre des
commandes suivantes:
Base01.TableDefs.Delete varTablesLiéesEnCours(I)
Ou encore
DoCmd.DeleteObject acTable, varTablesLiéesEnCours(I)
mais lorsqu'on arrive à l'instruction de compactage, j'obtiens le même
message d'erreur qu'auparavant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
Si j'ajoute, après avoir détaché les tables, mais avant la commande de
compaction l'instruction suivante de fermer la base attachée:
Base02.close
j'obtiens le message suivant:
«Variable objet ou variable de bloc With non définie» malgré le fait que
Base02 ait été préalablement dimensionnée comme une DAO.Database.
J'ai tenté à plusieurs reprises de réaliser ce compactage en sortant de
l'application, toujours sans succès. J'aimerais bien cette fois-ci y
parvenir, avec votre aide...BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" a écrit dans le
message de news:Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant
mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Merci Jean-Yves pour cette suggestion.
J'ai procédé aux essais et la méthode suggérée ne suffit pas. En effet,
je
«détache» avec succès toutes les tables attachées par l'une ou l'autre des
commandes suivantes:
Base01.TableDefs.Delete varTablesLiéesEnCours(I)
Ou encore
DoCmd.DeleteObject acTable, varTablesLiéesEnCours(I)
mais lorsqu'on arrive à l'instruction de compactage, j'obtiens le même
message d'erreur qu'auparavant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
Si j'ajoute, après avoir détaché les tables, mais avant la commande de
compaction l'instruction suivante de fermer la base attachée:
Base02.close
j'obtiens le message suivant:
«Variable objet ou variable de bloc With non définie» malgré le fait que
Base02 ait été préalablement dimensionnée comme une DAO.Database.
J'ai tenté à plusieurs reprises de réaliser ce compactage en sortant de
l'application, toujours sans succès. J'aimerais bien cette fois-ci y
parvenir, avec votre aide...
BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" <MichelBoivin@discussions.microsoft.com> a écrit dans le
message de news: 1A01013D-12BE-47AD-A60B-BE12091BD24D@microsoft.com...
Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant
mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Merci Jean-Yves pour cette suggestion.
J'ai procédé aux essais et la méthode suggérée ne suffit pas. En effet,
je
«détache» avec succès toutes les tables attachées par l'une ou l'autre des
commandes suivantes:
Base01.TableDefs.Delete varTablesLiéesEnCours(I)
Ou encore
DoCmd.DeleteObject acTable, varTablesLiéesEnCours(I)
mais lorsqu'on arrive à l'instruction de compactage, j'obtiens le même
message d'erreur qu'auparavant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
Si j'ajoute, après avoir détaché les tables, mais avant la commande de
compaction l'instruction suivante de fermer la base attachée:
Base02.close
j'obtiens le message suivant:
«Variable objet ou variable de bloc With non définie» malgré le fait que
Base02 ait été préalablement dimensionnée comme une DAO.Database.
J'ai tenté à plusieurs reprises de réaliser ce compactage en sortant de
l'application, toujours sans succès. J'aimerais bien cette fois-ci y
parvenir, avec votre aide...BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" a écrit dans le
message de news:Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant
mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Merci Jean-Yves pour cette suggestion.
J'ai procédé aux essais et la méthode suggérée ne suffit pas. En effet,
je
«détache» avec succès toutes les tables attachées par l'une ou l'autre des
commandes suivantes:
Base01.TableDefs.Delete varTablesLiéesEnCours(I)
Ou encore
DoCmd.DeleteObject acTable, varTablesLiéesEnCours(I)
mais lorsqu'on arrive à l'instruction de compactage, j'obtiens le même
message d'erreur qu'auparavant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
Si j'ajoute, après avoir détaché les tables, mais avant la commande de
compaction l'instruction suivante de fermer la base attachée:
Base02.close
j'obtiens le message suivant:
«Variable objet ou variable de bloc With non définie» malgré le fait que
Base02 ait été préalablement dimensionnée comme une DAO.Database.
J'ai tenté à plusieurs reprises de réaliser ce compactage en sortant de
l'application, toujours sans succès. J'aimerais bien cette fois-ci y
parvenir, avec votre aide...BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" a écrit dans le
message de news:Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant
mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Merci Jean-Yves pour cette suggestion.
J'ai procédé aux essais et la méthode suggérée ne suffit pas. En effet,
je
«détache» avec succès toutes les tables attachées par l'une ou l'autre des
commandes suivantes:
Base01.TableDefs.Delete varTablesLiéesEnCours(I)
Ou encore
DoCmd.DeleteObject acTable, varTablesLiéesEnCours(I)
mais lorsqu'on arrive à l'instruction de compactage, j'obtiens le même
message d'erreur qu'auparavant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
Si j'ajoute, après avoir détaché les tables, mais avant la commande de
compaction l'instruction suivante de fermer la base attachée:
Base02.close
j'obtiens le message suivant:
«Variable objet ou variable de bloc With non définie» malgré le fait que
Base02 ait été préalablement dimensionnée comme une DAO.Database.
J'ai tenté à plusieurs reprises de réaliser ce compactage en sortant de
l'application, toujours sans succès. J'aimerais bien cette fois-ci y
parvenir, avec votre aide...
BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" <MichelBoivin@discussions.microsoft.com> a écrit dans le
message de news: 1A01013D-12BE-47AD-A60B-BE12091BD24D@microsoft.com...
Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant
mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Merci Jean-Yves pour cette suggestion.
J'ai procédé aux essais et la méthode suggérée ne suffit pas. En effet,
je
«détache» avec succès toutes les tables attachées par l'une ou l'autre des
commandes suivantes:
Base01.TableDefs.Delete varTablesLiéesEnCours(I)
Ou encore
DoCmd.DeleteObject acTable, varTablesLiéesEnCours(I)
mais lorsqu'on arrive à l'instruction de compactage, j'obtiens le même
message d'erreur qu'auparavant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
Si j'ajoute, après avoir détaché les tables, mais avant la commande de
compaction l'instruction suivante de fermer la base attachée:
Base02.close
j'obtiens le message suivant:
«Variable objet ou variable de bloc With non définie» malgré le fait que
Base02 ait été préalablement dimensionnée comme une DAO.Database.
J'ai tenté à plusieurs reprises de réaliser ce compactage en sortant de
l'application, toujours sans succès. J'aimerais bien cette fois-ci y
parvenir, avec votre aide...BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" a écrit dans le
message de news:Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant
mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Bonjour
Non, il n'est pas utile de supprimer les attaches de tables, il faut juste
que tes tables ne soient pas ouverte.
Sinon essais juste en rajoutant en plus de db.close, la synthaxe set db =
nothing
Cette synthaxe permet de libérer ta variable objet et donc de fermer la base
à laquelle elle était liée.
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"Michel Boivin" a écrit dans le
message de news:Merci Jean-Yves pour cette suggestion.
J'ai procédé aux essais et la méthode suggérée ne suffit pas. En effet,
je
«détache» avec succès toutes les tables attachées par l'une ou l'autre des
commandes suivantes:
Base01.TableDefs.Delete varTablesLiéesEnCours(I)
Ou encore
DoCmd.DeleteObject acTable, varTablesLiéesEnCours(I)
mais lorsqu'on arrive à l'instruction de compactage, j'obtiens le même
message d'erreur qu'auparavant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
Si j'ajoute, après avoir détaché les tables, mais avant la commande de
compaction l'instruction suivante de fermer la base attachée:
Base02.close
j'obtiens le message suivant:
«Variable objet ou variable de bloc With non définie» malgré le fait que
Base02 ait été préalablement dimensionnée comme une DAO.Database.
J'ai tenté à plusieurs reprises de réaliser ce compactage en sortant de
l'application, toujours sans succès. J'aimerais bien cette fois-ci y
parvenir, avec votre aide...BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" a écrit dans le
message de news:Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant
mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Bonjour
Non, il n'est pas utile de supprimer les attaches de tables, il faut juste
que tes tables ne soient pas ouverte.
Sinon essais juste en rajoutant en plus de db.close, la synthaxe set db =
nothing
Cette synthaxe permet de libérer ta variable objet et donc de fermer la base
à laquelle elle était liée.
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"Michel Boivin" <MichelBoivin@discussions.microsoft.com> a écrit dans le
message de news: 73918329-8EE0-4DB3-8C1A-5757E3D4687E@microsoft.com...
Merci Jean-Yves pour cette suggestion.
J'ai procédé aux essais et la méthode suggérée ne suffit pas. En effet,
je
«détache» avec succès toutes les tables attachées par l'une ou l'autre des
commandes suivantes:
Base01.TableDefs.Delete varTablesLiéesEnCours(I)
Ou encore
DoCmd.DeleteObject acTable, varTablesLiéesEnCours(I)
mais lorsqu'on arrive à l'instruction de compactage, j'obtiens le même
message d'erreur qu'auparavant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
Si j'ajoute, après avoir détaché les tables, mais avant la commande de
compaction l'instruction suivante de fermer la base attachée:
Base02.close
j'obtiens le message suivant:
«Variable objet ou variable de bloc With non définie» malgré le fait que
Base02 ait été préalablement dimensionnée comme une DAO.Database.
J'ai tenté à plusieurs reprises de réaliser ce compactage en sortant de
l'application, toujours sans succès. J'aimerais bien cette fois-ci y
parvenir, avec votre aide...
BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" <MichelBoivin@discussions.microsoft.com> a écrit dans le
message de news: 1A01013D-12BE-47AD-A60B-BE12091BD24D@microsoft.com...
Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant
mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Bonjour
Non, il n'est pas utile de supprimer les attaches de tables, il faut juste
que tes tables ne soient pas ouverte.
Sinon essais juste en rajoutant en plus de db.close, la synthaxe set db =
nothing
Cette synthaxe permet de libérer ta variable objet et donc de fermer la base
à laquelle elle était liée.
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"Michel Boivin" a écrit dans le
message de news:Merci Jean-Yves pour cette suggestion.
J'ai procédé aux essais et la méthode suggérée ne suffit pas. En effet,
je
«détache» avec succès toutes les tables attachées par l'une ou l'autre des
commandes suivantes:
Base01.TableDefs.Delete varTablesLiéesEnCours(I)
Ou encore
DoCmd.DeleteObject acTable, varTablesLiéesEnCours(I)
mais lorsqu'on arrive à l'instruction de compactage, j'obtiens le même
message d'erreur qu'auparavant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
Si j'ajoute, après avoir détaché les tables, mais avant la commande de
compaction l'instruction suivante de fermer la base attachée:
Base02.close
j'obtiens le message suivant:
«Variable objet ou variable de bloc With non définie» malgré le fait que
Base02 ait été préalablement dimensionnée comme une DAO.Database.
J'ai tenté à plusieurs reprises de réaliser ce compactage en sortant de
l'application, toujours sans succès. J'aimerais bien cette fois-ci y
parvenir, avec votre aide...BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" a écrit dans le
message de news:Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en quittant
mon
application. Quoique j'utilise systématiquement la commande db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Merci à vous deux (Jean-Yves et Jessy) pour ces conseils.
D'abord, Jean-Yves tu avais bien compris, j'essaie effectivement de
compacter la base qui contient les tables attachées et non pas celle où je
me
trouve.
D'autre part, le conseil de Jessy (set db = nothing) avait aussi été
essayé
sans succès.
Je suis vraiment très déçu de ne pas réussir à l'occasion de cette
tentative
(plusieurs autres tentatives avaient aussi été abandonnées).
Pour être bien certain, si j'avais laissé un Recordset ouvert à quelque
part
dans mon application, n'est-il pas vrai qu'en fermant la base, ce
Recordset
(basé sur une table attachée) serait aussi fermé automatiquement ? Si
non,
il faudrait que je revoie systématiquement mon code pour bien m'assurer
que
chacun des Recordsets utilisés a effectivement été spécifiquement fermé,
ce
qui sera exigeant puisque mon application doit contenir au delà d'une
trentaine de Recordsets répartis un peu partout dans un module et des
formulaires !Bonjour
Non, il n'est pas utile de supprimer les attaches de tables, il faut
juste
que tes tables ne soient pas ouverte.
Sinon essais juste en rajoutant en plus de db.close, la synthaxe set db >> nothing
Cette synthaxe permet de libérer ta variable objet et donc de fermer la
base
à laquelle elle était liée.
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"Michel Boivin" a écrit dans le
message de news:Merci Jean-Yves pour cette suggestion.
J'ai procédé aux essais et la méthode suggérée ne suffit pas. En
effet,
je
«détache» avec succès toutes les tables attachées par l'une ou l'autre
des
commandes suivantes:
Base01.TableDefs.Delete varTablesLiéesEnCours(I)
Ou encore
DoCmd.DeleteObject acTable, varTablesLiéesEnCours(I)
mais lorsqu'on arrive à l'instruction de compactage, j'obtiens le même
message d'erreur qu'auparavant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
Si j'ajoute, après avoir détaché les tables, mais avant la commande de
compaction l'instruction suivante de fermer la base attachée:
Base02.close
j'obtiens le message suivant:
«Variable objet ou variable de bloc With non définie» malgré le fait
que
Base02 ait été préalablement dimensionnée comme une DAO.Database.
J'ai tenté à plusieurs reprises de réaliser ce compactage en sortant de
l'application, toujours sans succès. J'aimerais bien cette fois-ci y
parvenir, avec votre aide...BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" a écrit dans
le
message de news:Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en
quittant
mon
application. Quoique j'utilise systématiquement la commande
db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction
en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'.
Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Merci à vous deux (Jean-Yves et Jessy) pour ces conseils.
D'abord, Jean-Yves tu avais bien compris, j'essaie effectivement de
compacter la base qui contient les tables attachées et non pas celle où je
me
trouve.
D'autre part, le conseil de Jessy (set db = nothing) avait aussi été
essayé
sans succès.
Je suis vraiment très déçu de ne pas réussir à l'occasion de cette
tentative
(plusieurs autres tentatives avaient aussi été abandonnées).
Pour être bien certain, si j'avais laissé un Recordset ouvert à quelque
part
dans mon application, n'est-il pas vrai qu'en fermant la base, ce
Recordset
(basé sur une table attachée) serait aussi fermé automatiquement ? Si
non,
il faudrait que je revoie systématiquement mon code pour bien m'assurer
que
chacun des Recordsets utilisés a effectivement été spécifiquement fermé,
ce
qui sera exigeant puisque mon application doit contenir au delà d'une
trentaine de Recordsets répartis un peu partout dans un module et des
formulaires !
Bonjour
Non, il n'est pas utile de supprimer les attaches de tables, il faut
juste
que tes tables ne soient pas ouverte.
Sinon essais juste en rajoutant en plus de db.close, la synthaxe set db >> nothing
Cette synthaxe permet de libérer ta variable objet et donc de fermer la
base
à laquelle elle était liée.
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"Michel Boivin" <MichelBoivin@discussions.microsoft.com> a écrit dans le
message de news: 73918329-8EE0-4DB3-8C1A-5757E3D4687E@microsoft.com...
Merci Jean-Yves pour cette suggestion.
J'ai procédé aux essais et la méthode suggérée ne suffit pas. En
effet,
je
«détache» avec succès toutes les tables attachées par l'une ou l'autre
des
commandes suivantes:
Base01.TableDefs.Delete varTablesLiéesEnCours(I)
Ou encore
DoCmd.DeleteObject acTable, varTablesLiéesEnCours(I)
mais lorsqu'on arrive à l'instruction de compactage, j'obtiens le même
message d'erreur qu'auparavant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
Si j'ajoute, après avoir détaché les tables, mais avant la commande de
compaction l'instruction suivante de fermer la base attachée:
Base02.close
j'obtiens le message suivant:
«Variable objet ou variable de bloc With non définie» malgré le fait
que
Base02 ait été préalablement dimensionnée comme une DAO.Database.
J'ai tenté à plusieurs reprises de réaliser ce compactage en sortant de
l'application, toujours sans succès. J'aimerais bien cette fois-ci y
parvenir, avec votre aide...
BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" <MichelBoivin@discussions.microsoft.com> a écrit dans
le
message de news: 1A01013D-12BE-47AD-A60B-BE12091BD24D@microsoft.com...
Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en
quittant
mon
application. Quoique j'utilise systématiquement la commande
db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction
en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'.
Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.
Merci à vous deux (Jean-Yves et Jessy) pour ces conseils.
D'abord, Jean-Yves tu avais bien compris, j'essaie effectivement de
compacter la base qui contient les tables attachées et non pas celle où je
me
trouve.
D'autre part, le conseil de Jessy (set db = nothing) avait aussi été
essayé
sans succès.
Je suis vraiment très déçu de ne pas réussir à l'occasion de cette
tentative
(plusieurs autres tentatives avaient aussi été abandonnées).
Pour être bien certain, si j'avais laissé un Recordset ouvert à quelque
part
dans mon application, n'est-il pas vrai qu'en fermant la base, ce
Recordset
(basé sur une table attachée) serait aussi fermé automatiquement ? Si
non,
il faudrait que je revoie systématiquement mon code pour bien m'assurer
que
chacun des Recordsets utilisés a effectivement été spécifiquement fermé,
ce
qui sera exigeant puisque mon application doit contenir au delà d'une
trentaine de Recordsets répartis un peu partout dans un module et des
formulaires !Bonjour
Non, il n'est pas utile de supprimer les attaches de tables, il faut
juste
que tes tables ne soient pas ouverte.
Sinon essais juste en rajoutant en plus de db.close, la synthaxe set db >> nothing
Cette synthaxe permet de libérer ta variable objet et donc de fermer la
base
à laquelle elle était liée.
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"Michel Boivin" a écrit dans le
message de news:Merci Jean-Yves pour cette suggestion.
J'ai procédé aux essais et la méthode suggérée ne suffit pas. En
effet,
je
«détache» avec succès toutes les tables attachées par l'une ou l'autre
des
commandes suivantes:
Base01.TableDefs.Delete varTablesLiéesEnCours(I)
Ou encore
DoCmd.DeleteObject acTable, varTablesLiéesEnCours(I)
mais lorsqu'on arrive à l'instruction de compactage, j'obtiens le même
message d'erreur qu'auparavant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'. Recommencez
lorsque la base de données sera disponible»
Si j'ajoute, après avoir détaché les tables, mais avant la commande de
compaction l'instruction suivante de fermer la base attachée:
Base02.close
j'obtiens le message suivant:
«Variable objet ou variable de bloc With non définie» malgré le fait
que
Base02 ait été préalablement dimensionnée comme une DAO.Database.
J'ai tenté à plusieurs reprises de réaliser ce compactage en sortant de
l'application, toujours sans succès. J'aimerais bien cette fois-ci y
parvenir, avec votre aide...BIEN LE BONJOUR,
Il faut détacher les tables "attachées" avant decompacter.
DoCmd.DeleteObject acTable, "taTableExterne"
A+
JY
"Michel Boivin" a écrit dans
le
message de news:Je travaille avec une base de données comportant plusieurs
tables attachées. J'utilise fréquemment la structure suivante:
dim db as dao.database
dim rstX as dao.recordset
set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....
db.close
J'ai toutefois un problème. Je veux compacter cette base en
quittant
mon
application. Quoique j'utilise systématiquement la commande
db.close
après
chaque utilisation, lorsque je viens pour procéder à la compaction
en
quittant l'application, j'obtiens un message d'erreur suivant:
«Vous avez essayé d'ouvrir une base de données déjà ouverte en mode
exclusif
par l'utilisateur 'Admin' sur la machine 'MICHEL-TECRA-A4'.
Recommencez
lorsque la base de données sera disponible»
J'aimerais bien savoir ce que je dois faire pour fermer cette base
attachée
(autre que la commande db.close) et la compacter en quittant mon
application.
Toute aide sera bienvenue.