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 :

Ne pas ouvrir formulaire si ou réouvrir formulaire


Sujet :

IHM

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut Ne pas ouvrir formulaire si ou réouvrir formulaire
    Bonjour, j'expose mon problème :

    J'ai un formulaire principal "Customer" avec un sous-formulaire "Paymentplan" et un autre "Paymentplandetail".

    Dans ces 2 sous-formulaires, j'ai pour chacun un champ calcul qui doit être exactement le même ; j'ai alors mis ce code dans le module de formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Function checkAmountNumbers() As Boolean
        If Me.Form.Controls("Amountarrears") <> Me.frm_paymentplan2.Form.Controls("Totaldetail") Then
            checkAmountNumbers = False
            MsgBox "Error : Payment plan" & vbCrLf & vbCrLf & "The amount of arrears and the detail total are not equal ! Please correct this error.", vbExclamation, "CTX"
        Else
            checkAmountNumbers = True
        End If
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Unload(Cancel As Integer)
        If Not checkAmountNumbers Then
               Cancel = True
        End If
    End Sub
    Le problème est le suivant :

    Lorsque je quitte le formulaire principal par un bouton Close, la msgbox apparaît bien mais j'aimerais ou bien réouvrir le formulaire principal sur le même enregistrement automatiquement ou que le formulaire principal ne se ferme pas même en appuyant par Close.

    Comment puis-je faire ?

  2. #2
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    J'ai trouvé çà qui empêche la fermeture d'un formulaire ; est-ce que ce code pourrait servir pour régler mon problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Unload(Cancel As Integer)
    If MsgBox("Etes-vous certain ?", vbYesNo) = vbNo Then Cancel = True
    End Sub

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lucas-18 Voir le message
    J'ai trouvé çà qui empêche la fermeture d'un formulaire ; est-ce que ce code pourrait servir pour régler mon problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Unload(Cancel As Integer)
    If MsgBox("Etes-vous certain ?", vbYesNo) = vbNo Then Cancel = True
    End Sub
    Pourquoi, n'essaies tu pas?

    Si à chaque problème tu demandes aux autres une solution tu n'apprendras rien.

  4. #4
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    Citation Envoyé par GAYOT Voir le message
    Pourquoi, n'essaies tu pas?

    Si à chaque problème tu demandes aux autres une solution tu n'apprendras rien.
    Ne crois pas que lorsque je pose je n'essaie pas avant bien au contraire.

    J'avais déjà essayé ce code et le formulaire se ferme quand meme MAIS j'ai mis le code sur le sous formulaire et pas le formulaire principal ... je retente

  5. #5
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    En toute logique, il faudrait que les 2 codes suivants "agissent" avant la fermeture du formulaire principal par mon bouton Close et pour le moment, j'ai donc mis ces 2 codes dans mon formulaire principal mais je ne comprends pas que le formulaire principal se ferme quand même If Not checkAmountNumbers puisqu'il est bien écrit Cancel = True !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Function checkAmountNumbers() As Boolean
        If Me.Form.Controls("Amountarrears") <> Me.frm_paymentplan2.Form.Controls("Totaldetail") Then
            checkAmountNumbers = False
            MsgBox "Error : Payment plan" & vbCrLf & vbCrLf & "The amount of arrears and the detail total are not equal ! Please correct this error.", vbExclamation, "CTX"
        Else
            checkAmountNumbers = True
        End If
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Unload(Cancel As Integer)
        If Not checkAmountNumbers Then
               Cancel = True
        End If
    End Sub

  6. #6
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Unload(Cancel As Integer)
        If checkAmountNumbers = false Then
               Cancel = True
        End If
    End Sub
    Ca a l'air pareil, mais bon peut-être que non...

    PIerre

  7. #7
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    Citation Envoyé par pier.antoine Voir le message
    Idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Unload(Cancel As Integer)
        If checkAmountNumbers = false Then
               Cancel = True
        End If
    End Sub
    Ca a l'air pareil, mais bon peut-être que non...

    PIerre
    Toujours pas, j'ai la msgbox qui apparaît, le formulaire se ferme et j'ai un msgbox d'access : The CloseAction was cancelled ...

  8. #8
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    En fait, je me suis trompé Access ne fermait ps le formulaire, il le réduisait ...

    Impossible de fermer le formulaire si les 2 montants ne sont pas égaux et c'est ce que je voulais.

    Mais le problème, c'est qu'en réduisant le formulaire, l'utilisateur tombe directement sur mon formulaire d'accueil et peut ouvrir d'autres formulaires.

    Il faudrait donc que le formulaire ne se réduise pas mais reste au premier plan ... si qqun a une idée ...

    J'ai bien essayé çà mais çà ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Unload(Cancel As Integer)
        If checkAmountNumbers = false Then
               Cancel = True
               DoCmd.Maximize
        End If
    End Sub

  9. #9
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    En fait, il faudrait le restaurer plutôt je pense ; j'ai mis à la place

    au lieu de

    mais le formulaire n'est toujours pas sur l'écran et reste sur la barre des tâches ...

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/01/2012, 17h59
  2. [AC-2000] Ouvrir un enregistrement d'un Formulaire d'un autre Formulaire
    Par petitbayonne dans le forum IHM
    Réponses: 2
    Dernier message: 26/10/2010, 22h01
  3. [AC-2003] Pas ouvrir formulaire
    Par lucas-18 dans le forum IHM
    Réponses: 2
    Dernier message: 03/02/2010, 13h13
  4. Réponses: 0
    Dernier message: 12/05/2008, 19h40
  5. Réponses: 17
    Dernier message: 30/04/2008, 15h56

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