IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Runtime Discussion :

Ouvrir le formulaire à l'ouverture [Toutes versions]


Sujet :

Runtime

  1. #1
    Membre averti
    Homme Profil pro
    Menuisier Aluminium
    Inscrit en
    Mai 2021
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Menuisier Aluminium
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2021
    Messages : 17
    Par défaut Ouvrir le formulaire à l'ouverture
    Bonjour,

    Je viens de terminer ma base de donnée (accdb).

    Je voudrais maintenant l'ouvrir en mode formulaire (centrer et au premier plan et sans l'interface access)

    Dans les options j'ai bien mis fenetre supperposé et indiquer mon formulaire de départ
    Dans les parametre du formulaire j'ai mis "fenetre contextuelle' et 'fenetre modale" sur Oui

    J'enregistre et ferme

    Le formulaire s'ouvre correctement mais impossible de le mettre au premier plan, impossible de le centrer

    J'arrive a le mettre au premier plans avec l'interface access, mais si je minimize access, le formulaire est au dernier plan

    Pourriez vous m'aider s'il vous plait

    Merci
    Cordialement

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 899
    Par défaut
    Hello,

    Je voudrais maintenant l'ouvrir en mode formulaire (centrer et au premier plan et sans l'interface access)
    Et vous avez fait quoi précisément pour centrer et mettre au premier plan votre formulaire ?
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Membre averti
    Homme Profil pro
    Menuisier Aluminium
    Inscrit en
    Mai 2021
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Menuisier Aluminium
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2021
    Messages : 17
    Par défaut
    Bonjour,

    Merci pour votre retour, suivant ce que j'ai trouver un peut dans les sites

    J'ai mis dans les parametres du formulaires

    Onglet Autres
    Fenetre contextuelle sur Oui
    Fenetre modale sur Oui

    Onglet Format
    Centrage Auto sur Oui
    Afficher selecteur sur Non
    Boutons de déplacement sur Non
    Style de bordure sur trait simple fixe

    Dans les options Acces dans "base de données actives"

    Mis le nom de mon formulaire dans l'affichage
    Décocher "Afficher les onglets des documents"
    Coché "Fenêtres superposées"

    En VBA j'ai minimize la fenetre access pour ne voir que le formulaire

    Et au lancement le formulaire s'ouvre en arrière plan et au centre de la fenetre acces là ou elle a été fermé en dernier malgrès qu'elle soit bien minimize

    Merci de votre aide

  4. #4
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 950
    Par défaut
    Bonjour,
    Tu peux aussi convertir ta base .accdb en un fichier .accdr qui est alors verrouillée en lecture seule. Il force l'ouverture de la base de données en mode d'exécution (Runtime), ce qui empêche toute modification accidentelle de la structure de la base.
    Bon DEV
    .
    Together we stand divided we fall

  5. #5
    Membre averti
    Homme Profil pro
    Menuisier Aluminium
    Inscrit en
    Mai 2021
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Menuisier Aluminium
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2021
    Messages : 17
    Par défaut
    Bonjour Star,

    J'ai déjà essayer cette solution mais le formulaire ne s'ouvre toujours pas au premier plan mais derrière les fenêtres active de windows.

  6. #6
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 950
    Par défaut
    Possible d'avoir une capture d'écran afin de mieux comprendre ton souci ?
    .
    Together we stand divided we fall

  7. #7
    Membre Expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 897
    Par défaut
    Bonjour DragonBallZ1981,

    Si vous désirez que votre formulaire se retrouve au premier plan, en toutes circonstances, il faut passer par une API Windows.

    Voici un exemple qui met au premier plan le formulaire à chaque redimensionnement.

    Dans le formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Resize()
     
        fuAffichage Me.WindowHeight, Me
     
    End Sub
    Et dans un module standard le code suivant:
    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
    Option Compare Database
    Option Explicit
     
    'Constantes pour la fenêtre Access
      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).
     
    'Déclaration API
    #If VBA7 Then
        Public Declare PtrSafe Function ShowWindow Lib "user32" (ByVal hwnd As LongPtr, ByVal nCmdShow As LongPtr) As LongPtr
        Declare PtrSafe Function SetForegroundWindow Lib "user32" (ByVal hwnd As LongPtr) As Long
    #Else
        Public Declare Function ShowWindow Lib "User32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
        Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
    #End If
     
    'Procédure qui est appelé dans le formulaire
    Public Sub fuAffichage(ByVal intSize As Integer, frm As Form)
     
        If intSize < 500 Then 
            ShowWindow Application.hWndAccessApp, 2 'Fenêtre Access
            'Ici on a réduit le formulaire, on affiche l'icone Access dans la barre d'outil Windows
        Else                          
            ShowWindow Application.hWndAccessApp, 0 'Fenêtre Access
            SetForegroundWindow frm.hwnd 'Place le formulaire au premier plan
            'Ici on a restauré le formulaire à sa grandeur, on cache la fenêtre Access et on place le formulaire au premier plan
        End If
     
    End Sub
    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur :resolu:

  8. #8
    Membre averti
    Homme Profil pro
    Menuisier Aluminium
    Inscrit en
    Mai 2021
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Menuisier Aluminium
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2021
    Messages : 17
    Par défaut
    Bonjour à tous,

    Merci beaucoup Robert, votre solution de l'API windows fonctionne parfaitement.

    Bonne journée et encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo