Bonjour,
J'ai un formulaire dans ma base de données qui, losrqu'on le ferme, affiche une MsgBox.
Si la reponse a cette MsgBox est oui, il faut alors ouvrir le formulaire d'accueil d'une autre base de données.
La fonction marche bien, sauf pour l'ouverture de l'autre base. J'ai le message d'erreur suivant "La base de données est manquante, ou un autre utilisateur l'a ouverte en mode exclusif."
Or quand je teste la fonction, la base requise est a sa bonne place, et n'est pas ouverte.
Voici le code correspondant, j'ai mis en jaune l'emplacement de l'erreur, comme sous VBE:
Y a-t-il une erreur dans le code? Ou est-ce que c'est mon autre base qui est fautive de l'erreur?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 Private Sub Form_Close() 'Form_Open(Cancel As Integer) Dim Msg, Style, Title, Help, Ctxt, Response, MyString Msg = "Le jeu créé contient-il des pièces du stock?" ' Définit le message. Style = vbYesNo + vbCritical + vbDefaultButton2 ' Définit les boutons. Title = "Suivi du stock " ' Définit le titre. Help = "DEMO.HLP" ' Définit le fichier d'aide. Ctxt = 1000 ' Définit le contexte de ' la rubrique. ' Affiche le message. Response = MsgBox(Msg, Style, Title, Help, Ctxt) If Response = vbYes Then ' L'utilisateur a choisi Oui. 'MyString = "Oui" ' Effectue une action. ' creation de l'objet Access Dim objAccess As Access.Application Set objAccess = New Access.Application ' Chemin d'acces a l'autre base Dim strMDB As String strMDB = "F:\...\Gestion Stock Profils.mdb" With objAccess 'ouverture de la base .OpenCurrentDatabase strMDB 'les commandes sont les memes que pour la base en cours ' hormis le "objAccess." ' ouverture du formulaire .DoCmd.OpenForm "splashscreen" ' Sans oublier : .Visible = True End With Else ' L'utilisateur a choisi Non. MyString = "Non" ' Effectue une action. End If End Sub
Merci à ceux qui pourront et voudront bien m'aider
Guillaume
Partager