Voilà plusieurs jours que je tourne en rond, malgré de nombreuses recherches
sur ce forum, chez microsoft et sur le net en général.
Mon interrogation: Comment utiliser (faire référence à) la base de données
en cours en VBA?
En effet, je constate un verrouillage systématique lorsque je:
- Ouvre ma base
- Ouvre un formulaire en modification
- Par la suite, l'exécution de code passant sur CurrenDb.Name ou si je
tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name
=> En réponse, j'ai le message "Erreur d'exécution '3734' La base de données
a été placé par l'utilisateur "Admin"..."
Impossible dans ce cas d'enregistrer mes modifs si j'en fais.
Ou bien
- Ouvre ma base
- Tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name, ou
exécute Set MaBase = CurrentDb
- Ouvre un formulaire en création
=> En réponse, le message d'erreur "Vous n'avez pas les autorisations
nécessaire..."
Je compacte ma base, et le problème disparait parfois!
J'ai ce problème dans une base en cours de développement.
J'ai beau quitter Access et relancer, compacter ma base, rien n'y fait!
La cerise sur le gateau, ayant passé la matinée sur ça, afin de rédiger ce
message, j'ai fait l'essai dans une base neuve:
- Création d'une base vide
- Mise en place des références:
+ Visual Basic pour application
+ Microsoft Access 10.0 objetct library
+ Microsoft DAO 3.6 objetct library
- Création d'un formulaire
- Ajout du code suivant
Option Compare Database
Option Explicit
Dim gDb As DAO.database
Private Sub Form_Load()
Set gDb = Application.CurrentDb
End Sub
Private Sub Form_Unload(Cancel As Integer)
gDb.Close
Set gDb = Nothing
End Sub
- Enregistre et ferme le formulaire
- Ouvre le formulaire en design, et paf! le message d'erreur 3734.
Ensuite
- Quitte Access
- Relance Access
- Charge ma base test
- Compacte ma base
- Ouvre le formulaire en design
C'est bon!!??!!
Je charge ma base en développement, et plus d'erreur????
Qu'est-ce qui se passe??
Ou est mon erreur??
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Xavier HUE
Et de nouveau l'erreur dans ma base de dév, alors que je n'ai absolument rien fait!!! Juste après l'envoi de mon message!! Y'a un Gremlin quelque part :-(
Bonjour,
Win 200Pro SP4, Access XP SP3.
Voilà plusieurs jours que je tourne en rond, malgré de nombreuses recherches sur ce forum, chez microsoft et sur le net en général.
Mon interrogation: Comment utiliser (faire référence à) la base de données en cours en VBA?
En effet, je constate un verrouillage systématique lorsque je: - Ouvre ma base - Ouvre un formulaire en modification - Par la suite, l'exécution de code passant sur CurrenDb.Name ou si je tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name => En réponse, j'ai le message "Erreur d'exécution '3734' La base de données a été placé par l'utilisateur "Admin"..." Impossible dans ce cas d'enregistrer mes modifs si j'en fais.
Ou bien - Ouvre ma base - Tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name, ou exécute Set MaBase = CurrentDb - Ouvre un formulaire en création => En réponse, le message d'erreur "Vous n'avez pas les autorisations nécessaire..."
Je compacte ma base, et le problème disparait parfois! J'ai ce problème dans une base en cours de développement. J'ai beau quitter Access et relancer, compacter ma base, rien n'y fait!
La cerise sur le gateau, ayant passé la matinée sur ça, afin de rédiger ce message, j'ai fait l'essai dans une base neuve: - Création d'une base vide - Mise en place des références: + Visual Basic pour application + Microsoft Access 10.0 objetct library + Microsoft DAO 3.6 objetct library - Création d'un formulaire - Ajout du code suivant
Option Compare Database Option Explicit
Dim gDb As DAO.database
Private Sub Form_Load() Set gDb = Application.CurrentDb End Sub
Private Sub Form_Unload(Cancel As Integer) gDb.Close Set gDb = Nothing End Sub
- Enregistre et ferme le formulaire - Ouvre le formulaire en design, et paf! le message d'erreur 3734.
Ensuite - Quitte Access - Relance Access - Charge ma base test - Compacte ma base - Ouvre le formulaire en design C'est bon!!??!!
Je charge ma base en développement, et plus d'erreur???? Qu'est-ce qui se passe?? Ou est mon erreur??
Merci.
Et de nouveau l'erreur dans ma base de dév, alors que je n'ai absolument rien
fait!!!
Juste après l'envoi de mon message!!
Y'a un Gremlin quelque part :-(
Bonjour,
Win 200Pro SP4, Access XP SP3.
Voilà plusieurs jours que je tourne en rond, malgré de nombreuses recherches
sur ce forum, chez microsoft et sur le net en général.
Mon interrogation: Comment utiliser (faire référence à) la base de données
en cours en VBA?
En effet, je constate un verrouillage systématique lorsque je:
- Ouvre ma base
- Ouvre un formulaire en modification
- Par la suite, l'exécution de code passant sur CurrenDb.Name ou si je
tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name
=> En réponse, j'ai le message "Erreur d'exécution '3734' La base de données
a été placé par l'utilisateur "Admin"..."
Impossible dans ce cas d'enregistrer mes modifs si j'en fais.
Ou bien
- Ouvre ma base
- Tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name, ou
exécute Set MaBase = CurrentDb
- Ouvre un formulaire en création
=> En réponse, le message d'erreur "Vous n'avez pas les autorisations
nécessaire..."
Je compacte ma base, et le problème disparait parfois!
J'ai ce problème dans une base en cours de développement.
J'ai beau quitter Access et relancer, compacter ma base, rien n'y fait!
La cerise sur le gateau, ayant passé la matinée sur ça, afin de rédiger ce
message, j'ai fait l'essai dans une base neuve:
- Création d'une base vide
- Mise en place des références:
+ Visual Basic pour application
+ Microsoft Access 10.0 objetct library
+ Microsoft DAO 3.6 objetct library
- Création d'un formulaire
- Ajout du code suivant
Option Compare Database
Option Explicit
Dim gDb As DAO.database
Private Sub Form_Load()
Set gDb = Application.CurrentDb
End Sub
Private Sub Form_Unload(Cancel As Integer)
gDb.Close
Set gDb = Nothing
End Sub
- Enregistre et ferme le formulaire
- Ouvre le formulaire en design, et paf! le message d'erreur 3734.
Ensuite
- Quitte Access
- Relance Access
- Charge ma base test
- Compacte ma base
- Ouvre le formulaire en design
C'est bon!!??!!
Je charge ma base en développement, et plus d'erreur????
Qu'est-ce qui se passe??
Ou est mon erreur??
Et de nouveau l'erreur dans ma base de dév, alors que je n'ai absolument rien fait!!! Juste après l'envoi de mon message!! Y'a un Gremlin quelque part :-(
Bonjour,
Win 200Pro SP4, Access XP SP3.
Voilà plusieurs jours que je tourne en rond, malgré de nombreuses recherches sur ce forum, chez microsoft et sur le net en général.
Mon interrogation: Comment utiliser (faire référence à) la base de données en cours en VBA?
En effet, je constate un verrouillage systématique lorsque je: - Ouvre ma base - Ouvre un formulaire en modification - Par la suite, l'exécution de code passant sur CurrenDb.Name ou si je tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name => En réponse, j'ai le message "Erreur d'exécution '3734' La base de données a été placé par l'utilisateur "Admin"..." Impossible dans ce cas d'enregistrer mes modifs si j'en fais.
Ou bien - Ouvre ma base - Tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name, ou exécute Set MaBase = CurrentDb - Ouvre un formulaire en création => En réponse, le message d'erreur "Vous n'avez pas les autorisations nécessaire..."
Je compacte ma base, et le problème disparait parfois! J'ai ce problème dans une base en cours de développement. J'ai beau quitter Access et relancer, compacter ma base, rien n'y fait!
La cerise sur le gateau, ayant passé la matinée sur ça, afin de rédiger ce message, j'ai fait l'essai dans une base neuve: - Création d'une base vide - Mise en place des références: + Visual Basic pour application + Microsoft Access 10.0 objetct library + Microsoft DAO 3.6 objetct library - Création d'un formulaire - Ajout du code suivant
Option Compare Database Option Explicit
Dim gDb As DAO.database
Private Sub Form_Load() Set gDb = Application.CurrentDb End Sub
Private Sub Form_Unload(Cancel As Integer) gDb.Close Set gDb = Nothing End Sub
- Enregistre et ferme le formulaire - Ouvre le formulaire en design, et paf! le message d'erreur 3734.
Ensuite - Quitte Access - Relance Access - Charge ma base test - Compacte ma base - Ouvre le formulaire en design C'est bon!!??!!
Je charge ma base en développement, et plus d'erreur???? Qu'est-ce qui se passe?? Ou est mon erreur??
Merci.
Gafish
Xavier HUE wrote:
Bonjour,
Bonjour,
En effet, je constate un verrouillage systématique lorsque je: - Ouvre ma base - Ouvre un formulaire en modification - Par la suite, l'exécution de code passant sur CurrenDb.Name ou si je tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name => En réponse, j'ai le message "Erreur d'exécution '3734' La base de données a été placé par l'utilisateur "Admin"..." Impossible dans ce cas d'enregistrer mes modifs si j'en fais.
Tu as une fiche technique à ce sujet : http://support.microsoft.com/default.aspx?scid=KB;EN-US;274211 Essaie sinon d'utiliser plutôt CurrentDb dans ton code qui ne t'oblige pas à faire des déclarations et des set.
Arnaud -- Charte du forum : http://www.mpfa.info/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Xavier HUE wrote:
Bonjour,
Bonjour,
En effet, je constate un verrouillage systématique lorsque je:
- Ouvre ma base
- Ouvre un formulaire en modification
- Par la suite, l'exécution de code passant sur CurrenDb.Name ou si
je tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name
=> En réponse, j'ai le message "Erreur d'exécution '3734' La base de
données a été placé par l'utilisateur "Admin"..."
Impossible dans ce cas d'enregistrer mes modifs si j'en fais.
Tu as une fiche technique à ce sujet :
http://support.microsoft.com/default.aspx?scid=KB;EN-US;274211
Essaie sinon d'utiliser plutôt CurrentDb dans ton code qui ne t'oblige pas à
faire des déclarations et des set.
Arnaud
--
Charte du forum : http://www.mpfa.info/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
En effet, je constate un verrouillage systématique lorsque je: - Ouvre ma base - Ouvre un formulaire en modification - Par la suite, l'exécution de code passant sur CurrenDb.Name ou si je tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name => En réponse, j'ai le message "Erreur d'exécution '3734' La base de données a été placé par l'utilisateur "Admin"..." Impossible dans ce cas d'enregistrer mes modifs si j'en fais.
Tu as une fiche technique à ce sujet : http://support.microsoft.com/default.aspx?scid=KB;EN-US;274211 Essaie sinon d'utiliser plutôt CurrentDb dans ton code qui ne t'oblige pas à faire des déclarations et des set.
Arnaud -- Charte du forum : http://www.mpfa.info/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Xavier HUE
Bonjour Arnaud,
1) J'ai déjà consulté cet article. Il ne répond pas à mon problème. Je ne fais pas d'ouvertures multiples. Comme expliqué dans mon msg, le simple fait d'appeler la méthode CurrentDB plante l'exécution, ou verrouille la base, qui ne contient qu'un formulaire et les quelques lignes de code.
2) J'ai lu quelque part chez microsoft qu'il était préférable de passer par Set bdg = CurrentDb, par exemple pour ensuite faire un set Tbl = bdg.Tabledefs... D'ailleurs au début je ne faisais pas de Set. Et avec ou sans le problème est toujours.
Merci quand même pour ta réponse. Je reste en attente d'autres pistes, si quelqu'un a une idée.
Xav.
Xavier HUE wrote:
Bonjour,
Bonjour,
En effet, je constate un verrouillage systématique lorsque je: - Ouvre ma base - Ouvre un formulaire en modification - Par la suite, l'exécution de code passant sur CurrenDb.Name ou si je tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name => En réponse, j'ai le message "Erreur d'exécution '3734' La base de données a été placé par l'utilisateur "Admin"..." Impossible dans ce cas d'enregistrer mes modifs si j'en fais.
Tu as une fiche technique à ce sujet : http://support.microsoft.com/default.aspx?scid=KB;EN-US;274211 Essaie sinon d'utiliser plutôt CurrentDb dans ton code qui ne t'oblige pas à faire des déclarations et des set.
Arnaud -- Charte du forum : http://www.mpfa.info/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour Arnaud,
1) J'ai déjà consulté cet article. Il ne répond pas à mon problème. Je ne
fais pas d'ouvertures multiples. Comme expliqué dans mon msg, le simple fait
d'appeler la méthode CurrentDB plante l'exécution, ou verrouille la base, qui
ne contient qu'un formulaire et les quelques lignes de code.
2) J'ai lu quelque part chez microsoft qu'il était préférable de passer par
Set bdg = CurrentDb, par exemple pour ensuite faire un set Tbl =
bdg.Tabledefs... D'ailleurs au début je ne faisais pas de Set. Et avec ou
sans le problème est toujours.
Merci quand même pour ta réponse.
Je reste en attente d'autres pistes, si quelqu'un a une idée.
Xav.
Xavier HUE wrote:
Bonjour,
Bonjour,
En effet, je constate un verrouillage systématique lorsque je:
- Ouvre ma base
- Ouvre un formulaire en modification
- Par la suite, l'exécution de code passant sur CurrenDb.Name ou si
je tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name
=> En réponse, j'ai le message "Erreur d'exécution '3734' La base de
données a été placé par l'utilisateur "Admin"..."
Impossible dans ce cas d'enregistrer mes modifs si j'en fais.
Tu as une fiche technique à ce sujet :
http://support.microsoft.com/default.aspx?scid=KB;EN-US;274211
Essaie sinon d'utiliser plutôt CurrentDb dans ton code qui ne t'oblige pas à
faire des déclarations et des set.
Arnaud
--
Charte du forum : http://www.mpfa.info/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
1) J'ai déjà consulté cet article. Il ne répond pas à mon problème. Je ne fais pas d'ouvertures multiples. Comme expliqué dans mon msg, le simple fait d'appeler la méthode CurrentDB plante l'exécution, ou verrouille la base, qui ne contient qu'un formulaire et les quelques lignes de code.
2) J'ai lu quelque part chez microsoft qu'il était préférable de passer par Set bdg = CurrentDb, par exemple pour ensuite faire un set Tbl = bdg.Tabledefs... D'ailleurs au début je ne faisais pas de Set. Et avec ou sans le problème est toujours.
Merci quand même pour ta réponse. Je reste en attente d'autres pistes, si quelqu'un a une idée.
Xav.
Xavier HUE wrote:
Bonjour,
Bonjour,
En effet, je constate un verrouillage systématique lorsque je: - Ouvre ma base - Ouvre un formulaire en modification - Par la suite, l'exécution de code passant sur CurrenDb.Name ou si je tape la ligne dans la fenêtre d'exécution de VBA: ? CurrentDb.Name => En réponse, j'ai le message "Erreur d'exécution '3734' La base de données a été placé par l'utilisateur "Admin"..." Impossible dans ce cas d'enregistrer mes modifs si j'en fais.
Tu as une fiche technique à ce sujet : http://support.microsoft.com/default.aspx?scid=KB;EN-US;274211 Essaie sinon d'utiliser plutôt CurrentDb dans ton code qui ne t'oblige pas à faire des déclarations et des set.
Arnaud -- Charte du forum : http://www.mpfa.info/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Gafish
Xavier HUE wrote:
Bonjour Arnaud,
1) J'ai déjà consulté cet article. Il ne répond pas à mon problème. Je ne fais pas d'ouvertures multiples. Comme expliqué dans mon msg, le simple fait d'appeler la méthode CurrentDB plante l'exécution, ou verrouille la base, qui ne contient qu'un formulaire et les quelques lignes de code.
2) J'ai lu quelque part chez microsoft qu'il était préférable de passer par Set bdg = CurrentDb, par exemple pour ensuite faire un set Tbl = bdg.Tabledefs... D'ailleurs au début je ne faisais pas de Set. Et avec ou sans le problème est toujours.
Merci quand même pour ta réponse. Je reste en attente d'autres pistes, si quelqu'un a une idée.
Ta base est peut être corrompue alors. Ca expliquerait que ça le fasse de facon aléatoire, qu'un compactage résolve le souci pour un moment et que ca revienne. Crée toi une nouvelle base et importes-y tous tes objets. Si le problème finit par réapparaître, c'est qu'il y a quelque chose qui corrompt ta base. Fermes tu bien tous tes objets par un set nothing ? Sinon une liste (en anglais) de causes de corruption : http://minilien.com/?rR70815eOY
Arnaud -- Charte du forum : http://www.mpfa.info/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Xavier HUE wrote:
Bonjour Arnaud,
1) J'ai déjà consulté cet article. Il ne répond pas à mon problème.
Je ne fais pas d'ouvertures multiples. Comme expliqué dans mon msg,
le simple fait d'appeler la méthode CurrentDB plante l'exécution, ou
verrouille la base, qui ne contient qu'un formulaire et les quelques
lignes de code.
2) J'ai lu quelque part chez microsoft qu'il était préférable de
passer par Set bdg = CurrentDb, par exemple pour ensuite faire un set
Tbl = bdg.Tabledefs... D'ailleurs au début je ne faisais pas de Set.
Et avec ou sans le problème est toujours.
Merci quand même pour ta réponse.
Je reste en attente d'autres pistes, si quelqu'un a une idée.
Ta base est peut être corrompue alors.
Ca expliquerait que ça le fasse de facon aléatoire, qu'un compactage résolve
le souci pour un moment et que ca revienne.
Crée toi une nouvelle base et importes-y tous tes objets. Si le problème
finit par réapparaître, c'est qu'il y a quelque chose qui corrompt ta base.
Fermes tu bien tous tes objets par un set nothing ?
Sinon une liste (en anglais) de causes de corruption :
http://minilien.com/?rR70815eOY
Arnaud
--
Charte du forum : http://www.mpfa.info/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
1) J'ai déjà consulté cet article. Il ne répond pas à mon problème. Je ne fais pas d'ouvertures multiples. Comme expliqué dans mon msg, le simple fait d'appeler la méthode CurrentDB plante l'exécution, ou verrouille la base, qui ne contient qu'un formulaire et les quelques lignes de code.
2) J'ai lu quelque part chez microsoft qu'il était préférable de passer par Set bdg = CurrentDb, par exemple pour ensuite faire un set Tbl = bdg.Tabledefs... D'ailleurs au début je ne faisais pas de Set. Et avec ou sans le problème est toujours.
Merci quand même pour ta réponse. Je reste en attente d'autres pistes, si quelqu'un a une idée.
Ta base est peut être corrompue alors. Ca expliquerait que ça le fasse de facon aléatoire, qu'un compactage résolve le souci pour un moment et que ca revienne. Crée toi une nouvelle base et importes-y tous tes objets. Si le problème finit par réapparaître, c'est qu'il y a quelque chose qui corrompt ta base. Fermes tu bien tous tes objets par un set nothing ? Sinon une liste (en anglais) de causes de corruption : http://minilien.com/?rR70815eOY
Arnaud -- Charte du forum : http://www.mpfa.info/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Xavier HUE
Merci pour ton lien. Beaucoup de chose à lire et vérifier...
Ta base est peut être corrompue alors. Peut être...
Fermes tu bien tous tes objets par un set nothing ? Oui, je m'y astreins.
J'ai déjà eu des problème à ne pas le faire, style impossible de fermer Access.
Ceci étant, je ne m'explique pas pourquoi j'ai eu le problème dans une base neuve, avec un malheureux formulaire et quelques lignes de code (cf mon msg initial). Pour l'instant ma base de dév "tient le coup"... Mais ma main au feu que demain matin, ca remet ça. Je suis seul à développer sur cette base, notre réseau 100mbits est fiable, ainsi que le serveur. J'ai d'autres applis qui fonctionne quotidiennement sans prob.
A+ Xav.
Xavier HUE wrote:
Bonjour Arnaud,
1) J'ai déjà consulté cet article. Il ne répond pas à mon problème. Je ne fais pas d'ouvertures multiples. Comme expliqué dans mon msg, le simple fait d'appeler la méthode CurrentDB plante l'exécution, ou verrouille la base, qui ne contient qu'un formulaire et les quelques lignes de code.
2) J'ai lu quelque part chez microsoft qu'il était préférable de passer par Set bdg = CurrentDb, par exemple pour ensuite faire un set Tbl = bdg.Tabledefs... D'ailleurs au début je ne faisais pas de Set. Et avec ou sans le problème est toujours.
Merci quand même pour ta réponse. Je reste en attente d'autres pistes, si quelqu'un a une idée.
Ta base est peut être corrompue alors. Ca expliquerait que ça le fasse de facon aléatoire, qu'un compactage résolve le souci pour un moment et que ca revienne. Crée toi une nouvelle base et importes-y tous tes objets. Si le problème finit par réapparaître, c'est qu'il y a quelque chose qui corrompt ta base. Fermes tu bien tous tes objets par un set nothing ? Sinon une liste (en anglais) de causes de corruption : http://minilien.com/?rR70815eOY
Arnaud -- Charte du forum : http://www.mpfa.info/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Merci pour ton lien.
Beaucoup de chose à lire et vérifier...
Ta base est peut être corrompue alors.
Peut être...
Fermes tu bien tous tes objets par un set nothing ?
Oui, je m'y astreins.
J'ai déjà eu des problème à ne pas le faire, style impossible de fermer
Access.
Ceci étant, je ne m'explique pas pourquoi j'ai eu le problème dans une base
neuve, avec un malheureux formulaire et quelques lignes de code (cf mon msg
initial).
Pour l'instant ma base de dév "tient le coup"...
Mais ma main au feu que demain matin, ca remet ça.
Je suis seul à développer sur cette base, notre réseau 100mbits est fiable,
ainsi que le serveur. J'ai d'autres applis qui fonctionne quotidiennement
sans prob.
A+
Xav.
Xavier HUE wrote:
Bonjour Arnaud,
1) J'ai déjà consulté cet article. Il ne répond pas à mon problème.
Je ne fais pas d'ouvertures multiples. Comme expliqué dans mon msg,
le simple fait d'appeler la méthode CurrentDB plante l'exécution, ou
verrouille la base, qui ne contient qu'un formulaire et les quelques
lignes de code.
2) J'ai lu quelque part chez microsoft qu'il était préférable de
passer par Set bdg = CurrentDb, par exemple pour ensuite faire un set
Tbl = bdg.Tabledefs... D'ailleurs au début je ne faisais pas de Set.
Et avec ou sans le problème est toujours.
Merci quand même pour ta réponse.
Je reste en attente d'autres pistes, si quelqu'un a une idée.
Ta base est peut être corrompue alors.
Ca expliquerait que ça le fasse de facon aléatoire, qu'un compactage résolve
le souci pour un moment et que ca revienne.
Crée toi une nouvelle base et importes-y tous tes objets. Si le problème
finit par réapparaître, c'est qu'il y a quelque chose qui corrompt ta base.
Fermes tu bien tous tes objets par un set nothing ?
Sinon une liste (en anglais) de causes de corruption :
http://minilien.com/?rR70815eOY
Arnaud
--
Charte du forum : http://www.mpfa.info/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Merci pour ton lien. Beaucoup de chose à lire et vérifier...
Ta base est peut être corrompue alors. Peut être...
Fermes tu bien tous tes objets par un set nothing ? Oui, je m'y astreins.
J'ai déjà eu des problème à ne pas le faire, style impossible de fermer Access.
Ceci étant, je ne m'explique pas pourquoi j'ai eu le problème dans une base neuve, avec un malheureux formulaire et quelques lignes de code (cf mon msg initial). Pour l'instant ma base de dév "tient le coup"... Mais ma main au feu que demain matin, ca remet ça. Je suis seul à développer sur cette base, notre réseau 100mbits est fiable, ainsi que le serveur. J'ai d'autres applis qui fonctionne quotidiennement sans prob.
A+ Xav.
Xavier HUE wrote:
Bonjour Arnaud,
1) J'ai déjà consulté cet article. Il ne répond pas à mon problème. Je ne fais pas d'ouvertures multiples. Comme expliqué dans mon msg, le simple fait d'appeler la méthode CurrentDB plante l'exécution, ou verrouille la base, qui ne contient qu'un formulaire et les quelques lignes de code.
2) J'ai lu quelque part chez microsoft qu'il était préférable de passer par Set bdg = CurrentDb, par exemple pour ensuite faire un set Tbl = bdg.Tabledefs... D'ailleurs au début je ne faisais pas de Set. Et avec ou sans le problème est toujours.
Merci quand même pour ta réponse. Je reste en attente d'autres pistes, si quelqu'un a une idée.
Ta base est peut être corrompue alors. Ca expliquerait que ça le fasse de facon aléatoire, qu'un compactage résolve le souci pour un moment et que ca revienne. Crée toi une nouvelle base et importes-y tous tes objets. Si le problème finit par réapparaître, c'est qu'il y a quelque chose qui corrompt ta base. Fermes tu bien tous tes objets par un set nothing ? Sinon une liste (en anglais) de causes de corruption : http://minilien.com/?rR70815eOY
Arnaud -- Charte du forum : http://www.mpfa.info/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr