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

Erreur 3051

9 réponses
Avatar
Jacques
Bonjour,

Lorsque je lance ce code j'ai l'erreur :

3051 ne peut pas ouvrir le fichier, il est d=E9j=E0 ouvert en mode
exclusif par un autre utilisateur.

'---Ouverture de la base
Set db =3D CurrentDb

'---Ouvrir la tbl Adh=E9rents
rq =3D "SELECT * From [tbl Adh=E9rents] "
Set rs =3D db.OpenRecordset(rq, dbOpenDynaset)

Mon code ????????

rs.Close
Set rs =3D Nothing

La suite du code ???????

'---Cr=E9e table li=E9e dans base en cours
DoCmd.TransferDatabase acLink, "Microsoft Access", strDB, acTable,
_
"tbl Ch=E8ques", "tbl Ch=E8ques"


Comment =E9viter cette erreur en sachant que j'ai besoin d'ouvrir le
Set db =3D CurrentDb avant de cr=E9e la table li=E9e

Merci pour votre aide.

Salutations.

9 réponses

Avatar
Raymond [mvp]
Bonjour.

l'erreur est très claire, tbl Adhérents est déjà ouverte en mode exclusif.
soit ouverte directement ou par du code vba ou par un formulaire, ton propre
formulaire peut-être. si c'est ton formulaire, voir les options de partage.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"Jacques" a écrit dans le message de news:

Bonjour,

Lorsque je lance ce code j'ai l'erreur :

3051 ne peut pas ouvrir le fichier, il est déjà ouvert en mode
exclusif par un autre utilisateur.

'---Ouverture de la base
Set db = CurrentDb

'---Ouvrir la tbl Adhérents
rq = "SELECT * From [tbl Adhérents] "
Set rs = db.OpenRecordset(rq, dbOpenDynaset)

Mon code ????????

rs.Close
Set rs = Nothing

La suite du code ???????

'---Crée table liée dans base en cours
DoCmd.TransferDatabase acLink, "Microsoft Access", strDB, acTable,
_
"tbl Chèques", "tbl Chèques"


Comment éviter cette erreur en sachant que j'ai besoin d'ouvrir le
Set db = CurrentDb avant de crée la table liée

Merci pour votre aide.

Salutations.
Avatar
Jacques
On 15 juin, 13:55, "Raymond [mvp]"
wrote:
Bonjour.

l'erreur est très claire, tbl Adhérents est déjà ouverte en mode exclusif.
soit ouverte directement ou par du code vba ou par un formulaire, ton pro pre
formulaire peut-être. si c'est ton formulaire, voir les options de part age.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum:http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Offi ce !http://www.comscamp.com/Tracker/Redirect.ashx?linkid71c7f3-78e8-43 ...

"Jacques" a écrit dans le message de news:

Bonjour,

Lorsque je lance ce code j'ai l'erreur :

3051 ne peut pas ouvrir le fichier, il est déjà ouvert en mode
exclusif par un autre utilisateur.

'---Ouverture de la base
Set db = CurrentDb

'---Ouvrir la tbl Adhérents
rq = "SELECT * From [tbl Adhérents] "
Set rs = db.OpenRecordset(rq, dbOpenDynaset)

Mon code ????????

rs.Close
Set rs = Nothing

La suite du code ???????

'---Crée table liée dans base en cours
DoCmd.TransferDatabase acLink, "Microsoft Access", strDB, acTable,
_
"tbl Chèques", "tbl Chèques"

Comment éviter cette erreur en sachant que j'ai besoin d'ouvrir le
Set db = CurrentDb avant de crée la table liée

Merci pour votre aide.

Salutations.


Bonjour Raymond,

Mon formulaire n'a pas de source, par contre à l'ouverture j'ai ce
code:

'---Ouverture de la base
Set db = CurrentDb

'---Ouvrir la tbl Adhérents
rq = "SELECT * From [tbl Adhérents] "
Set rs = db.OpenRecordset(rq, dbOpenDynaset)

Mon code ????????

rs.Close
Set rs = Nothing

Qui se poursuit par:

'---Crée table liée dans base en cours
DoCmd.TransferDatabase acLink, "Microsoft Access", strDB,
acTable,
_ "tbl Chèques", "tbl Chèques"

Comment réaliser cette dernière opération ?

Salutations

Avatar
Raymond [mvp]
Du moment que tu passes bien sur le
rs.Close
Set rs = Nothing
la table n'est plus utilisée.
rajoute simplement ceci:
rs.Close
Set rs = Nothing
DoEvents
mais je doute que ça change quelque chose.

ça doit être bloqué par un code ailleurs.

si ça ne change rien, passe moi ta base dans un fichier zip à l'adresse
indiquée dans ma signature ( enlève les xyz de sécurité), jetterai un oeil.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"Jacques" a écrit dans le message de news:


Bonjour Raymond,

Mon formulaire n'a pas de source, par contre à l'ouverture j'ai ce
code:

'---Ouverture de la base
Set db = CurrentDb

'---Ouvrir la tbl Adhérents
rq = "SELECT * From [tbl Adhérents] "
Set rs = db.OpenRecordset(rq, dbOpenDynaset)

Mon code ????????

rs.Close
Set rs = Nothing

Qui se poursuit par:

'---Crée table liée dans base en cours
DoCmd.TransferDatabase acLink, "Microsoft Access", strDB,
acTable,
_ "tbl Chèques", "tbl Chèques"

Comment réaliser cette dernière opération ?

Salutations
Avatar
Jacques
On 16 juin, 14:40, "Raymond [mvp]"
wrote:
Du moment que tu passes bien sur le
rs.Close
Set rs = Nothing
la table n'est plus utilisée.
rajoute simplement ceci:
rs.Close
Set rs = Nothing
DoEvents
mais je doute que ça change quelque chose.

ça doit être bloqué par un code ailleurs.

si ça ne change rien, passe moi ta base dans un fichier zip à l'adres se
indiquée dans ma signature ( enlève les xyz de sécurité), jettera i un oeil.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum:http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Offi ce !http://www.comscamp.com/Tracker/Redirect.ashx?linkid71c7f3-78e8-43 ...

"Jacques" a écrit dans le message de news:


Bonjour Raymond,

Mon formulaire n'a pas de source, par contre à l'ouverture j'ai ce
code:

'---Ouverture de la base
Set db = CurrentDb

'---Ouvrir la tbl Adhérents
rq = "SELECT * From [tbl Adhérents] "
Set rs = db.OpenRecordset(rq, dbOpenDynaset)

Mon code ????????

rs.Close
Set rs = Nothing

Qui se poursuit par:

'---Crée table liée dans base en cours
DoCmd.TransferDatabase acLink, "Microsoft Access", strDB,
acTable,
_ "tbl Chèques", "tbl Chèques"

Comment réaliser cette dernière opération ?

Salutations


Bonsoir Raymond,

Apparament le DoEvents suffit, et merci pour ton aide.

Par contre j'ai encore besoin d'aide.

Mon formulaire Accueil s'ouvre au démarrage de l'application
(Paramétrée par Menu Outil Démarrage et Afficher formulaire/Page)

Si la condition de mon code se vérifie la Msgbox du code me donne un
choix, si oui le code s'exécute et le formulaire s'ouvre.

Comment faire pour que mon code s'exécute après que le formulaire
Accueil s'ouvre ?


Salutations.

Avatar
Raymond [mvp]
Bonjour.

tout dépend dans quel événement de quel objet se trouve ton code.
ton code se trouve où ? dans le formulaire d'accueil ou un autre? dans un
module ? lancé par la macro autoexec ?
à voir.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"Jacques" a écrit dans le message de news:


Bonsoir Raymond,

Apparament le DoEvents suffit, et merci pour ton aide.

Par contre j'ai encore besoin d'aide.

Mon formulaire Accueil s'ouvre au démarrage de l'application
(Paramétrée par Menu Outil Démarrage et Afficher formulaire/Page)

Si la condition de mon code se vérifie la Msgbox du code me donne un
choix, si oui le code s'exécute et le formulaire s'ouvre.

Comment faire pour que mon code s'exécute après que le formulaire
Accueil s'ouvre ?


Salutations.
Avatar
Jacques
On 17 juin, 11:16, "Raymond [mvp]"
wrote:
Bonjour.

tout dépend dans quel événement de quel objet se trouve ton code.
ton code se trouve où ? dans le formulaire d'accueil ou un autre? dans un
module ? lancé par la macro autoexec ?
à voir.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum:http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Offi ce !http://www.comscamp.com/Tracker/Redirect.ashx?linkid71c7f3-78e8-43 ...

"Jacques" a écrit dans le message de news:


Bonsoir Raymond,

Apparament le DoEvents suffit, et merci pour ton aide.

Par contre j'ai encore besoin d'aide.

Mon formulaire Accueil s'ouvre au démarrage de l'application
(Paramétrée par Menu Outil Démarrage et Afficher formulaire/Page)

Si la condition de mon code se vérifie la Msgbox du code me donne un
choix, si oui le code s'exécute et le formulaire s'ouvre.

Comment faire pour que mon code s'exécute après que le formulaire
Accueil s'ouvre ?

Salutations.


Bonjour Raymond,

Actuellement le code se trouve sur l'ouverture du formulaire Accueil.

Salutations

Avatar
Raymond [mvp]
Bonsoir.

le code étant dans le formulaire accueil et pour que le formulaire accueil
s'ouvre avant le code, il faut placer le code dans l'événement form_load qui
est déclenché après l'affichage du formulaire et l'affichage des
enregistrements ce qui est important en soi. contrairement à l'événement
Open qui est déclenché après l'affichage du formulaire et avant l'affichage
du premier enregistrement.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"Jacques" a écrit dans le message de news:


Bonjour Raymond,

Actuellement le code se trouve sur l'ouverture du formulaire Accueil.

Salutations
Avatar
Jacques
On 18 juin, 19:35, "Raymond [mvp]"
wrote:
Bonsoir.

le code étant dans le formulaire accueil et pour que le formulaire accu eil
s'ouvre avant le code, il faut placer le code dans l'événement form_l oad qui
est déclenché après l'affichage du formulaire et l'affichage des
enregistrements ce qui est important en soi. contrairement à l'évén ement
Open qui est déclenché après l'affichage du formulaire et avant l'a ffichage
du premier enregistrement.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/http://officesyste m.access.over-blog.com/
Pour débuter sur le forum:http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Offi ce !http://www.comscamp.com/Tracker/Redirect.ashx?linkid71c7f3-78e8-43 ...

"Jacques" a écrit dans le message de news:


Bonjour Raymond,

Actuellement le code se trouve sur l'ouverture du formulaire Accueil.

Salutations


Re Bonsoir,

J'ai fait un petit test en mettant un Msgbox sur Form_load, et le
message apparait avant l'ouverture du form Accueil.

Je précise à toute fin utile que le formulaire et paramétré à
l'ouverture par (Menu Outil Démarrage et Afficher formulaire/Page) .

Salutations.

Avatar
Raymond [mvp]
si le code est dans le formulaire lui-même, il faut bien que le formulaire
soit ouvert pour que le code s'exécute ? il ne peut pas s'exécuter dans le
vide.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"Jacques" a écrit dans le message de news:

Re Bonsoir,

J'ai fait un petit test en mettant un Msgbox sur Form_load, et le
message apparait avant l'ouverture du form Accueil.

Je précise à toute fin utile que le formulaire et paramétré à
l'ouverture par (Menu Outil Démarrage et Afficher formulaire/Page) .

Salutations.