Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Contribuez
Contribuez Access : Vos contributions. Postez ici vos codes sources, conseils, astuces et autres propositions. Ce forum n'est pas un forum technique mais destiné aux contributions pour www.developpez.com
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 25/07/2007, 11h34   #1
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605
Par défaut [FAQ] Ouvrir un formulaire sans ouvrir Access

à tous,

Voilà une astuce que les merveilleux modo Access m'on fait découvrir aujourd'hui afin d'ouvrir un formulaire sans pour autant ouvrir Access.
Je trouve cette astuce très pratique et ça m'étonne fort qu'elle ne soit pas dans la FAQ donc voici une solution :

Avant tout : Attention lorsque vous rendez la fenêtre Access invisible, vous n'y aurais plus du tout accès donc si vous souhaitez modifier le code ce n'est plus possible donc faîtes une sauvegarde avant la manip' (du moins moi je n'arrive plus à accéder au code donc si quelqu'un de plus expérimenté pouvais confirmer ceci ).

Pour commencer, il faut que vous rendiez la fenêtre de votre formulaire indépendante et modale via les propriétés du formulaire.
Puis dans le code de votre formulaire, il faut rajouter :
Code :
1
2
3
4
5
6
7
8
9
Sub Form_Load()
    'Ouverture du formualire sans la fenêtre principale Access
    ShowWindow Application.hWndAccessApp, 0
End Sub
 
Private Sub Form_Close()
    'fermeture d'Access lors de la fermeture du formulaire
    Application.Quit
End Sub
Application.Quit sert à fermer Access automatiquement lors de la fermeture du formulaire sinon le processus MSACCESS.EXE tourne toujours.

En espérant que ça pourra éviter des galères à certains
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 00h02   #2
Membre Expert
 
Inscription : mars 2006
Messages : 1 331
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 1 331
Points : 1 460
Points : 1 460
Bonsoir,

Il ne faut pas avoir des données ultra importantes lorsqu'on joue avec ce genre de manipulation.
En tous les cas un complément genre :
Code :
1
2
3
4
5
6
Option Compare Database
'Appel API et constante pour masquage et affichage
Const SW_HIDE = 0 ' Masquer
Const SW_NORMAL = 1 ' Restaurer- afficher
Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal FHCmdShow As Long) As Long
sera le bienvenue et pour avoir accés à la base sur un bouton :
Code :
ShowWindow Application.hWndAccessApp, 1
Cordialement
__________________
Questions techniques par MP
Le peu que je sais, c'est à mon ignorance que je le dois.
...............................................................................Sacha Guitry
francishop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 08h43   #3
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605
Citation:
Envoyé par francishop
Il ne faut pas avoir des données ultra importantes lorsqu'on joue avec ce genre de manipulation.
Bè typiquement dans mon projet j'ai scindé la base et l'appli donc même dans le cas où tu ne peux plus ouvrir Access et modifier ton appli, tu pourras modifier ta page et y avoir accès (c'est un plus au MDE en fait).
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 11h27   #4
Membre actif
 
Homme
Enseignant
Inscription : août 2006
Messages : 463
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : août 2006
Messages : 463
Points : 150
Points : 150
bonjour j'ai essayé votre méthode qui est effectivement super esthétique...

par contre les etat ne sont plus visible. Existe t'il un moyen de visualiser quand meme les états..

merci
mnssylvain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2008, 19h39   #5
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 103
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 103
Points : 34
Points : 34
bonjour,
en essayant cette méthode un msg d'erreur apparait

Erreur de compilation :
Sub ou Fonction non définie

ou ShowWindow est surligné ds le code:
Code :
1
2
3
4
Sub Form_Load()
    'Ouverture du formualire sans la fenêtre principale Access
    ShowWindow Application.hWndAccessApp, 0
End Sub
une idée ?
domik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2008, 20h57   #6
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 103
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 103
Points : 34
Points : 34
C'est ok,
j'avais oublié de copier ce code ds un module...
domik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2008, 21h47   #7
Inscrit
 
Inscription : janvier 2005
Messages : 992
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : janvier 2005
Messages : 992
Points : 178
Points : 178
Envoyer un message via ICQ à faressam Envoyer un message via MSN à faressam
Juste une Question est ce que aprés la création du module et l'intégration du Code, le rendu ça sera ça : http://access.developpez.com/faq/?pa...ce#AffBarrMenu

si c'est le Cas, ça vaut peut être la peinne de passer sans code ?..?
faressam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2008, 21h37   #8
Invité de passage
 
Inscription : juillet 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 7
Points : 4
Points : 4
Bonjour,

Voilà je suis tout nouveau dans access et votre sujet m'intéresse bcp. Ton code doit être mis dans la partie du formulaire que l'on affiche dès le début c'est bien cela? C'est bien dans une procédure évènementielle?

Comme Domik j'ai eu la même erreur. Alors j'ai rajouté le bout de code qu'il manquait mais j'ai toujours un problème.

Peut être je ne place pas le code au bon endroit. Si vous pouviez me guider ça serait super sympa.

Merci
Bastien95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2008, 22h34   #9
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 103
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 103
Points : 34
Points : 34
Bonjour Bastien95,
le code qu'il me manquait , est à copier dans un module : c'est celui ci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'Déclaration API
 Const SW_HIDE = 0             'Hide the window.
  Const SW_MAXIMIZE = 3         'Maximize the window.
  Const SW_MINIMIZE = 6         'Minimize the window.
  Const SW_RESTORE = 9          'Restore the window (not maximized nor minimized).
  Const SW_SHOW = 5             'Show the window.
  Const SW_SHOWMAXIMIZED = 3    'Show the window maximized.
  Const SW_SHOWMINIMIZED = 2    'Show the window minimized.
  Const SW_SHOWMINNOACTIVE = 7  'Show the window minimized but do not activate it.
  Const SW_SHOWNA = 8           'Show the window in its current state but do not activate it.
  Const SW_SHOWNOACTIVATE = 4   'Show the window in its most recent size and position but do not activate it.
  Const SW_SHOWNORMAL = 1       'Show the window and activate it (as usual).
 
  Public Declare Function ShowWindow Lib "User32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
 
 
'minimise la fenetre access et active le formulaire
Function Fenetre_Modale(pForm As Form)
  ShowWindow Application.hWndAccessApp, SW_HIDE
  ShowWindow pForm.hWnd, SW_SHOWNORMAL
  ShowWindow Application.hWndAccessApp, SW_SHOWMINNOACTIVE
End Function
domik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2008, 23h05   #10
Invité de passage
 
Inscription : juillet 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 7
Points : 4
Points : 4
Merci d'avoir répondu aussi rapidement. Je vais tester de suite. Mais il faut bien mettre le code dans la partie évênementielle de mon formulaire, c'est bien ça?
Bastien95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2008, 23h33   #11
Invité de passage
 
Inscription : juillet 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 7
Points : 4
Points : 4
Donc voilà j'ai rajouté tout le code que tu m'as donné. Ce code je l'ai mis dans le fichier où il y a toute les procédures évênementielles de mon formulaire. Mon formulaire s'appelle Form_Menu et pour la procédure évênementielle load je fais appel à la fonction Fenetre_Modale Forms![Form_Menu].

Malheureusement, j'ai toujours un souci. Forcément je dois mal placer mon code, je ne vois que ça.
Bastien95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2008, 09h12   #12
Invité de passage
 
Inscription : juillet 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 7
Points : 4
Points : 4
Voilà après quelques heures de persévérence j'ai enfin réussi.

Merci pour ton aide.
Bastien95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2008, 04h31   #13
Invité de passage
 
Inscription : décembre 2008
Messages : 2
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 2
Points : 2
Points : 2
Bonjour,

J'ai eu le même problème que Bastien95. Cependant, je n'ai pas réussi à le régler ... je n'arrive pas à coller le code de la bonne façon pour qu'il fonctionne et access me retourne toujours un message d'erreur. J'ai ajouter le code à la fin des procédures événementielles de mon menu principal.

Si quelqu'un pourrait m'aider, ce serait très aprécié.

Merci

P.S. Je suis plutôt débutant avec le VBA
Logik_guy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2008, 11h40   #14
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 103
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 103
Points : 34
Points : 34
Citation:
le code est à copier dans un module
domik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2008, 09h25   #15
Invité de passage
 
Inscription : décembre 2008
Messages : 2
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 2
Points : 2
Points : 2
Bonjour,

J'ai toujours un problème avec ce code !

J'ai copier le code qui devait se retrouver dans un module dans un nouveau module -> Module 1

Puis j'ai ajouter les deux prpocédures Form_Load et Form_Close à la fin des procédures du menu principal.

L'orsque j'ouvre mon fichier il n'y a plus rien du tout qui s'affiche mais le processus MSACCESS.EXE tourne.

Je ne sais plus du tout quoi esseyer !
Merci de m'aider.
Logik_guy 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 12h49.


 
 
 
 
Partenaires

Hébergement Web