Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/01/2012, 11h47   #1
Invité de passage
 
Homme William Grognot
Administrateur systèmes et réseaux
Inscription : janvier 2012
Messages : 20
Détails du profil
Informations personnelles :
Nom : Homme William Grognot
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Administrateur systèmes et réseaux
Secteur : Conseil

Informations forums :
Inscription : janvier 2012
Messages : 20
Points : 0
Points : 0
Par défaut Ouvrir un formulaire sur une autre base

Bonjour,

Est-il possible d'ouvrir un formulaire situé dans une autre base ?
Si oui, quel est le code associé svp ?

Merci d'avance
willou-78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 13h40   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 877
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 877
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Hello,

une recherche dans la avec les mots clés "formulaire autre base" donne le lien suivant :
http://access.developpez.com/faq/?pa...ss#OuvrBddForm
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 09h23   #3
Invité de passage
 
Homme William Grognot
Administrateur systèmes et réseaux
Inscription : janvier 2012
Messages : 20
Détails du profil
Informations personnelles :
Nom : Homme William Grognot
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Administrateur systèmes et réseaux
Secteur : Conseil

Informations forums :
Inscription : janvier 2012
Messages : 20
Points : 0
Points : 0
Bonjour,

Merci pour ce lien.

j'ai donc copier ce code dans module "module1" et adapté bien sur, le code apporté à la commande.

http://access.developpez.com/faq/?pa...ss#OuvrBddForm

lorsque je j'éxecute la commande, 2 fenetres s'ouvrent :

1) la base
2) le formulaire

mais les fenêtres sont vide et le code suivant apparaît :

Code :
1
2
Error#:91
Variable objet ou variable de bloc With non definie
une idée du problème ?
willou-78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 10h22   #4
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 877
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 877
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Hello,

en principe, une ligne de code est surlignée en jaune une fois que tu cliques sur le OK du message d'erreur, pourrait-on avoir la ligne incriminée ainsi que les lignes de code de la fonction/procedure en question stp ?
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 11h27   #5
Invité de passage
 
Homme William Grognot
Administrateur systèmes et réseaux
Inscription : janvier 2012
Messages : 20
Détails du profil
Informations personnelles :
Nom : Homme William Grognot
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Administrateur systèmes et réseaux
Secteur : Conseil

Informations forums :
Inscription : janvier 2012
Messages : 20
Points : 0
Points : 0
oui, en principe, j'ai remarqué que le code apparaît à l'écrant et que la première erreur et surligné en jaune, mais pas pour pour ce cas.

l'erreur 91 sité plus haut apparaît dasn un msgbox. D'ailleur, elle n'est visible que si je ferme les fenêtre vide.

j'ai peut être oublié quelque chose.

la commande via le bouton (sur click) fonctionne car si le nom du formulaire comporte un erreur, j'obtiens un message
Code :
Call OpenRemoteForm "chemin_de_ma_base\base.mdb", "Form_a_ouvrir")
Code :
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Private Declare Function apiSetForegroundWindow Lib "user32" _
            Alias "SetForegroundWindow" _
            (ByVal hwnd As Long) _
            As Long
 
Private Declare Function apiShowWindow Lib "user32" _
            Alias "ShowWindow" _
            (ByVal hwnd As Long, _
            ByVal nCmdShow As Long) _
            As Long
 
Private Const SW_MAXIMIZE = 3
Private Const SW_NORMAL = 1
 
Function fOpenRemoteForm(strMDB As String, _
                                        strForm As String, _
                                        Optional intView As Variant) _
                                        As Boolean
Dim objAccess As Access.Application
Dim lngRet As Long
 
    On Error GoTo fOpenRemoteForm_Err
 
    If IsMissing(intView) Then intView = acViewNormal
 
    If Len(Dir(strMDB)) > 0 Then
        Set objAccess = New Access.Application
        With objAccess
            lngRet = apiSetForegroundWindow(.hWndAccessApp)
            lngRet = apiShowWindow(.hWndAccessApp, SW_MAXIMIZE)
            'le premier appel à  ShowWindow semble rester sans effet
            lngRet = apiShowWindow(.hWndAccessApp, SW_MAXIMIZE)
            .OpenCurrentDatabase strMDB
            .DoCmd.OpenForm strForm, intView
            Do While Len(.CurrentDb.Name) > 0
                DoEvents
            Loop
        End With
    End If
fOpenRemoteForm_Exit:
    On Error Resume Next
    objAccess.Quit
    Set objAccess = Nothing
    Exit Function
fOpenRemoteForm_Err:
    fOpenRemoteForm = False
    Select Case err.Number
        Case 7866:
            'mdb ouverte en mode exclusif
            MsgBox "The database you specified " & vbCrLf & strMDB & _
                vbCrLf & "is currently open in exclusive mode.  " & vbCrLf _
                & vbCrLf & "Please reopen in shared mode and try again", _
                vbExclamation + vbOKOnly, "Could not open database."
        Case 2102:
            'ce formulaire n'existe pas
            MsgBox "The Form \'" & strForm & _
                        "\' doesn\'t exist in the Database " _
                        & vbCrLf & strMDB, _
                        vbExclamation + vbOKOnly, "Form not found"
        Case 7952:
            'l'utilisateur a fermer la base de données
            fOpenRemoteForm = True
        Case Else:
            MsgBox "Error#: " & err.Number & vbCrLf & err.DESCRIPTION, _
                    vbCritical + vbOKOnly, "Runtime error"
    End Select
    Resume fOpenRemoteForm_Exit
End Function
 
Dans le module que j'ai appelé "Module1", j'ai copié ce code
lorsque je clique sur mon bouton, il faut mettre un code qui appelle le Module, non ?
willou-78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h10.


 
 
 
 
Partenaires

Hébergement Web