Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et 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

Réponse
 
Outils de la discussion
Vieux 25/07/2007, 11h34   #1 (permalink)
Modérateur
 
Avatar de trotters213
 
Date d'inscription: janvier 2005
Localisation: Nîmes
Âge: 23
Messages: 2 457
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 :
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
Vieux 26/07/2007, 00h02   #2 (permalink)
Membre Expert
 
Date d'inscription: mars 2006
Localisation: Fétera son 16éme anniversaire en 2012
Messages: 1 167
Par défaut

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 :
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

Dernière modification par francishop ; 26/07/2007 à 00h16
francishop est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/07/2007, 08h43   #3 (permalink)
Modérateur
 
Avatar de trotters213
 
Date d'inscription: janvier 2005
Localisation: Nîmes
Âge: 23
Messages: 2 457
Par défaut

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
Vieux 30/11/2007, 11h27   #4 (permalink)
Membre éclairé
 
Date d'inscription: août 2006
Localisation: Vaucluse (84)
Âge: 31
Messages: 360
Par défaut

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
Vieux 12/01/2008, 19h39   #5 (permalink)
Nouveau membre du Club
 
Date d'inscription: janvier 2006
Messages: 61
Par défaut

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 :
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
Vieux 12/01/2008, 20h57   #6 (permalink)
Nouveau membre du Club
 
Date d'inscription: janvier 2006
Messages: 61
Par défaut

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
Vieux 15/03/2008, 21h47   #7 (permalink)
Inscrit(e)
 
Date d'inscription: janvier 2005
Localisation: Maroc, Canada, France
Âge: 25
Messages: 664
Envoyer un message via ICQ à faressam Envoyer un message via MSN à faressam
Par défaut

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
Vieux 29/07/2008, 21h37   #8 (permalink)
Invité de passage
 
Date d'inscription: juillet 2008
Messages: 7
Par défaut

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
Vieux 29/07/2008, 22h34   #9 (permalink)
Nouveau membre du Club
 
Date d'inscription: janvier 2006
Messages: 61
Par défaut

Bonjour Bastien95,
le code qu'il me manquait , est à copier dans un module : c'est celui ci

Code :
'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
Vieux 29/07/2008, 23h05   #10 (permalink)
Invité de passage
 
Date d'inscription: juillet 2008
Messages: 7
Par défaut

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?

Dernière modification par Bastien95 ; 29/07/2008 à 23h16
Bastien95 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/07/2008, 23h33   #11 (permalink)
Invité de passage
 
Date d'inscription: juillet 2008
Messages: 7
Par défaut

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
Vieux 30/07/2008, 09h12   #12 (permalink)
Invité de passage
 
Date d'inscription: juillet 2008
Messages: 7
Par défaut

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
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > Contribuez

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide