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

IHM Discussion :

Empêcher l'ouverture d'un formulaire vide


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 75
    Points : 50
    Points
    50
    Par défaut Empêcher l'ouverture d'un formulaire vide
    Bonjour,

    J'ai essayé d'enpecher l'ouverture d'un formulaire vide avec le code que j'ai vu sur le FAQ:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Open(Cancel As Integer)
        If Me.RecordsetClone.RecordCount = 0 Then
            MsgBox "Le formulaire ne s'ouvre pas car il est vide.", vbInformation
            Cancel = True 'Annule l'ouverture
        End If
    End Sub
    Le probleme est-ce que quand il est vide, la msgbox "Le formulaire ne s'ouvre pas car il est vide." s'affiche, mais lorsque je la ferme, le formulaire ouvre tout en suite.

    Avec des outres formulaires de mon application ça n'arrive pas.

    Est-ce quelqu'un connait une possible raison?
    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 136
    Points : 89
    Points
    89
    Par défaut
    Salut,
    A mon avis, le code que tu as dis :
    Ouverture du formulaire
    Si "vide", msgbox, fermeture de la msgbox.

    Il ne remet pas en cause l'ouverture du formulaire? non?
    Si tu place ce code sur le bouton qui commande l'ouverture du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Me.RecordsetClone.RecordCount = 0 Then
            MsgBox "Le formulaire ne s'ouvre pas car il est vide.", vbInformation
            Cancel = True 'Annule l'ouverture
     Else...'ajoute le code ouverture du formulaire'
        End If
    je pense que ça marche...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Maintenant il se passe rien lorsque je click sur le button d'ouverture

    voilà le code d'ouverture:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If ag_glo <> 0 Then
        DoCmd.OpenForm "F_crimm_modif", acNormal, "", "[Forms]![F_crimm]![AG]=[T_crimm_dem]![AG]", acEdit, acDialog
        Else
        AG.Value = InputBox("Entrez le code d'agence")
        If AG.Value <> "" Then
        DoCmd.OpenForm "F_crimm_modif", acNormal, "", "[Forms]![F_crimm]![AG]=[T_crimm_dem]![AG]", acEdit, acDialog
        Forms!F_CBL!AG.Value = ag_glo
        End If
    End If
    Dans les autres forms, j'ai mis le code d'annulation sur la procedure form open et tout marche bien, toujours avec le même code d'ouverture

    Merci pour l'aide

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Enfait, je pense avoir trouvé la reponse, mais je n'arrive à solutioner le probleme.

    Regardez les codes suivants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form_Open(Cancel As Integer)
     
    With Form
        .Move Left:=500, Top:=1000, Width:=14750, Height:=8180
    End With
     
    If Me.RecordsetClone.RecordCount = 0 Then
         MsgBox ("Le formulaire ne s'ouvre pas car il est vide.")
         Cancel = True 'Annule l'ouverture
    End If
     
    End Sub
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form_Load()
     
    With Form
        .Move Left:=500, Top:=1000, Width:=14750, Height:=8180
    End With
     
    If Me.RecordsetClone.RecordCount = 0 Then
         MsgBox ("Le formulaire ne s'ouvre pas car il est vide.")
         Cancel = True 'Annule l'ouverture
    End If
     
    End Sub
    Le probleme je pense que c'est la part Private Sub Form_Open(Cancel As Integer), que manque dans les forms où le code ne marche pas. Mais si je mets Cancel As Integer où il n'apparaît pas, le msgbox arrete d'apparaittre, et le form continue à ouvrir vide!

    Quelque sugestion?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    J'ai trouvé la solution, parfois c'etait écrit form_load au lieu de form_open

  6. #6
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 406
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    De mon côté, je préfère systématiquement vérifier s'il y a des enregistrements (avec DCount ou avec un recordset) et seulement après ouvrir le formulaire concerné (s'il y en a !).

    Autre personne, autre méthode

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    En fait, ce-là c'est un des mes premiers applications en Access, donc je ne suis pas très experimenté. J'ai vu ce code sur le FAQ et donc j'ai l'utilisé.

    Mais c'est toujours bon avoir des nouvelles idées.
    Merci pour la sugestion, je vais les essayer.

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

Discussions similaires

  1. Empêcher l'ouverture d'un formulaire
    Par chahnou dans le forum Access
    Réponses: 2
    Dernier message: 26/06/2015, 20h12
  2. Empêcher l'ouverture d'un Etat vide
    Par jackyhilary dans le forum IHM
    Réponses: 1
    Dernier message: 08/01/2008, 03h39
  3. Réponses: 6
    Dernier message: 08/02/2007, 17h06
  4. Ouverture d'un formulaire : vide
    Par gadjou dans le forum Access
    Réponses: 9
    Dernier message: 25/07/2006, 12h20
  5. Réponses: 16
    Dernier message: 12/05/2006, 10h20

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