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 :

Erreur lors de la Saisie


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    France
    Inscrit en
    Novembre 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : France

    Informations forums :
    Inscription : Novembre 2018
    Messages : 135
    Points : 55
    Points
    55
    Par défaut Erreur lors de la Saisie
    Bonjour à tous,

    J'ai un petit souci, j'ai créer un formulaire avec un sous formulaire qui me permet d'afficher, modifier et ajouter des fournisseurs.

    mon souci est dés que je commence à saisir les information pour ajouter un fournisseur, j'ai le message ci dessous qui apparaît et c'est trés chiant
    Nom : Capture.JPG
Affichages : 105
Taille : 22,2 Ko

    comment je fais pour pour pas qu'il apparaît ? sachant que les champs "NomFournisseurs" et "Compte FR" sont obligatoire.

    Je met en pièce jointe le fichier.

    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Re-bonjour,

    Il faut que tu revois la conception "fonctionnelle" de ton formulaire.
    Tu ne peux pas ajouter une valeur dans ton sous-formulaire si tu n'as pas la valeur correspondante dans ta liste déroulante.
    Vu que ton sous-formulaire a comma champ pères la valeur de la liste déroulante.

    Cordialement.

  3. #3
    Membre du Club
    Homme Profil pro
    France
    Inscrit en
    Novembre 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : France

    Informations forums :
    Inscription : Novembre 2018
    Messages : 135
    Points : 55
    Points
    55
    Par défaut
    Bonjour

    est-il donc possible de supprimer les propriétés "champ père" et "champ fils" lors de l'ouverture du sous formulaire seul ?

    y'a t-il peut être autres solutions ?

    Merci d'avance

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    est-il donc possible de supprimer les propriétés "champ père" et "champ fils" lors de l'ouverture du sous formulaire seul ?
    Possible, mais c'est allé vers plus de complication à mon avis.

    Il ne faut pas utiliser un sous-formulaire à mon avis. Avoir un formulaire avec la liste déroulante et les champs du fournisseur "directement".
    le chois du fournisseur se fera avec du code en utilisant la propriété BookMark du Recordset.

    Cordialement.

  5. #5
    Membre du Club
    Homme Profil pro
    France
    Inscrit en
    Novembre 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : France

    Informations forums :
    Inscription : Novembre 2018
    Messages : 135
    Points : 55
    Points
    55
    Par défaut
    Bonjour madefemere

    Je suis loin d’être bon sur Access, serait-possible de me montrer un exemple s'il vous plait ?

    Merci d'avance

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Re-,

    Base en pièce jointe. Je l'ai adaptée par rapport à l'autre question dans l'autre fil.

    Cordialement.
    Fichiers attachés Fichiers attachés

  7. #7
    Membre du Club
    Homme Profil pro
    France
    Inscrit en
    Novembre 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : France

    Informations forums :
    Inscription : Novembre 2018
    Messages : 135
    Points : 55
    Points
    55
    Par défaut
    Bonsoir,

    je ne comprends pas très bien le travaille que vous avez effectué, de plus je ne vois pas comment je peux ajouter un nouveau fournisseur a ma base ( sur mon fichier de base y'avait un bouton "Ajouter Fournisseur" (allowadditions = True)).

    Pouvez vous s'il vous plait m'expliquer le travail ( je reste un novice avec l'envie d'apprendre).

    Vraiment merci pour ton aide précieuse

  8. #8
    Membre du Club
    Homme Profil pro
    France
    Inscrit en
    Novembre 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : France

    Informations forums :
    Inscription : Novembre 2018
    Messages : 135
    Points : 55
    Points
    55
    Par défaut
    J'ajoute en pièce jointe mon fichier actualiser si c'est possible de jeter un coup d'oeil,

    il permet de:
    Grâce au bouton "Ajouter Fournisseur", modifier la propriété "Ajout Autorisé" de mon sous formulaire à "oui", et donc ajouter un nouveau fournisseur (c'est la mon souci).
    Grâce au bouton "Modifier Fournisseur", modifier la propriété "Modification Autorisé" de mon sous_formulaire à "oui" et donc pouvoir modifier les informations.

    Problème
    Lorsque je veux entrer le nom du nouveau fournisseur, j'ai le message ci-dessous qui apparaît
    Nom : Capture.JPG
Affichages : 93
Taille : 19,8 Ko

    il suffit d'appuyer sur OK pour continuer la saisie.

    Comment je fais pour pas qu'il apparaît ?

    Je suis ouvert à toutes solutions

    Merci d'avance
    Fichiers attachés Fichiers attachés

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    j"ai enlevé les propriétés champs pères/champs fils que j'ai remplacé par un filtre. Je suis parti de la première version de la base (celle du post #1).
    Regarde si cela fonctionne:
    BASE X (3).zip

  10. #10
    Membre du Club
    Homme Profil pro
    France
    Inscrit en
    Novembre 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : France

    Informations forums :
    Inscription : Novembre 2018
    Messages : 135
    Points : 55
    Points
    55
    Par défaut
    Bonsoir tee_grandbois ,

    Yessss, parfait ca fonctionne nickel, rien à dire

    une question :

    est ce possible de changer le message qui apparaît en cas de doublons (clé primaire = NomFournisseurs)?, je souhaite changer la fenêtre ci dessous par un MsgBox (vba si c'est possible s'il vous plaît)
    Nom : Capture.JPG
Affichages : 88
Taille : 28,1 Ko

    Merci pour votre aide précieuse

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonjour,
    les contrôles de ce genre peuvent se faire avant la mise à jour du champ dans le sous-formulaire.
    Mets ce code dans l' évènement Avant mise à jour (Before Update) du contrôle Fournisseur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Fournisseur_BeforeUpdate(Cancel As Integer)
    ' Contrôle d'existence
    If DCount("*", "T_fournisseurs", "nomfournisseurs=""" & Me.Fournisseur & """") <> 0 Then
        MsgBox "Ce nom de fournisseur existe déjà", vbCritical
        Cancel = True
    End If
    End Sub
    ainsi, tu peux mettre le message de ton choix.

  12. #12
    Membre du Club
    Homme Profil pro
    France
    Inscrit en
    Novembre 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : France

    Informations forums :
    Inscription : Novembre 2018
    Messages : 135
    Points : 55
    Points
    55
    Par défaut
    Bonjour tee_grandbois,

    Votre code fonctionne trés bien, je vous remercie
    cependant je viens de rencontrer un petit problème, le même souci :
    quand j'ouvre mon formulaire "Formulaire_tous_les_fournisseurs" et que je clic sur "ajouterfournisseur" , le message réapparaît voir ci dessous :
    Nom : Capture.JPG
Affichages : 83
Taille : 19,2 Ko

    Merci d'avance
    Images attachées Images attachées  

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    Peux-tu poster ta base ?

  14. #14
    Membre du Club
    Homme Profil pro
    France
    Inscrit en
    Novembre 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : France

    Informations forums :
    Inscription : Novembre 2018
    Messages : 135
    Points : 55
    Points
    55
    Par défaut
    Bonsoir,

    c'est une erreur de ma part, c'est parfait mon formulaire fonctionne comme je souhaite.

    Merci pour votre aide précieuse

  15. #15
    Membre du Club
    Homme Profil pro
    France
    Inscrit en
    Novembre 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : France

    Informations forums :
    Inscription : Novembre 2018
    Messages : 135
    Points : 55
    Points
    55
    Par défaut
    Re-bonsoir,

    j'ai découvert un autre souci dans mon fichier, j'explique :

    lorsque je double clic sur une zone de texte "NomFournisseur) d'un autre formulaire, ma zone de liste "ListeFournisseur" de mon "Formulaire_Tous_les_Fournisseurs" se met directement sur le nom du fournisseur sur le quel j'ai double cliqué. MAIS mon sous_formulaire ne m'affiche pas les informations de ce fournisseur.

    Voici le code que j'ai mis sur l’événement double clic :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.OpenForm "Formulaire_Tous_Les_Fournisseurs"
    Forms.Formulaire_Tous_Les_Fournisseurs.[ListeFournisseurs] = Me.Fournisseurs.Value
    et voici les codes que j'ai mis sur mon "Formulaire_Tous_Les_Fournisseurs":
    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
    Private Sub Ajouter_Fournisseur_Click()
        Me!Sous_Formulaire_Tous_Les_Fournisseurs.Form.AllowAdditions = True
        Me!Sous_Formulaire_Tous_Les_Fournisseurs.Form.DataEntry = True
    End Sub
     
    Private Sub Form_Load()
        DoCmd.Maximize
        ' on empêche toute saisie
        Me!Sous_Formulaire_Tous_Les_Fournisseurs.Form.DataEntry = True
        Me.Sous_Formulaire_Tous_Les_Fournisseurs.Form.Filter = "Nomfournisseurs=""" & Me.ListeFournisseurs & """"
        Me.Sous_Formulaire_Tous_Les_Fournisseurs.Form.FilterOn = True
        Me!Sous_Formulaire_Tous_Les_Fournisseurs.Form.AllowEdits = False
        Me!Sous_Formulaire_Tous_Les_Fournisseurs.Form.AllowAdditions = False
    End Sub
     
    Private Sub ListeFournisseurs_Click()
        Me!Sous_Formulaire_Tous_Les_Fournisseurs.Form.AllowEdits = False
        Me.Sous_Formulaire_Tous_Les_Fournisseurs.Form.Filter = "Nomfournisseurs=""" & Me.ListeFournisseurs & """"
        Me.Sous_Formulaire_Tous_Les_Fournisseurs.Form.FilterOn = True
    End Sub
     
    Private Sub Modifier_Fournisseur_Click()
    If IsNull(Me.ListeFournisseurs) Then Exit Sub
     
    If MsgBox("Voulez Vous Modifier La Fiche Fournisseur ?", vbYesNo + vbDefaultButton1 + vbQuestion, "BDD Fournisseurs") = vbYes Then
        Me!Sous_Formulaire_Tous_Les_Fournisseurs.Form.AllowEdits = True
    Else
        Me!Sous_Formulaire_Tous_Les_Fournisseurs.Form.AllowEdits = False
    End If
    End Sub
    Et les codes de mon "Formulaire_Tous_Les_Fournisseurs":
    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_AfterUpdate()
    ' Mise à jour de la liste
    Me.Parent!ListeFournisseurs.RowSource = Me.Parent!ListeFournisseurs.RowSource
    End Sub
     
    Private Sub Fournisseur_BeforeUpdate(Cancel As Integer)
    ' Contrôle d'existence
    If DCount("*", "T_fournisseurs", "nomfournisseurs=""" & Me.Fournisseur & """") <> 0 Then
        MsgBox "Ce Fournisseur existe déjà", vbCritical
        Cancel = True
    End If
    End Sub
    Merci d'avance

  16. #16
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    c'est totalement absurde de passer par un premier formulaire pour sélectionner un fournisseur pour ouvrir un second formulaire qui contient déjà une zone de liste pour sélectionner un fournisseur !!!
    Dans ce cas à quoi sert d'avoir intégré la zone de liste ?
    madefemere à dit plus haut:
    Citation Envoyé par madefemere
    Il faut que tu revois la conception "fonctionnelle" de ton formulaire.
    pour le coup, je ne vais pas lui donner tort.

  17. #17
    Membre du Club
    Homme Profil pro
    France
    Inscrit en
    Novembre 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : France

    Informations forums :
    Inscription : Novembre 2018
    Messages : 135
    Points : 55
    Points
    55
    Par défaut
    Je me suis peut être mal exprimé, veuillez m'excuser.
    j'explique,

    Mon premier formulaire (Formulaire Recherche) me permet de filtrer ma base de données, les résultats après les filtres apparaissent dans mon sous formulaire (Sous_Formulaire_Recherche).

    Mon deuxième formulaire (Formulaire_Tous_Les_Fournisseurs) me permet d'afficher tous mes fournisseurs dans ma liste déroulante, et une fois qu'on clic sur un fournisseur, ses informations apparaissent dans (Sous_Formulaire_Tous_Les_Fournisseurs). Ce deuxième sous formulaire (Sous_Formulaire_Tous_Les_Fournisseurs) me permet aussi de modifier et ajouter des fournisseurs grâce aux bouton "Ajouter Fournisseur" et "modifier Fournisseur" qui se trouvent dans "Formulaire_Tous_Les_Fournisseurs".

    Mon souhait est : lorsque je double clique sur un des fournisseurs dans mon "Sous_Formulaire_Recherche", le "Formulaire_Tous_Les_Fournisseurs" s'ouvre avec ma zone de liste qui se met sur la valeur de mon double clique, et que mon "Sous_Formulaire_Tous_Les_Fournisseurs" m'affiche les informations de ce fournisseur.

    Aujourd'hui, ma zone de liste se met bien sur la valeur de mon double clic, mais mon "Sous_Formulaire_Tous_Les_Fournisseurs" ne m'affiche rien.

  18. #18
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonsoir,
    Citation Envoyé par othmane.badri
    Je me suis peut être mal exprimé, veuillez m'excuser.
    j'explique,
    non l'explication était claire j'avais bien compris ton besoin, je trouve juste ta demande absurde puisque le formulaire Formulaire_Tous_Les_Fournisseurs contient déjà un liste de choix des fournisseurs et tu souhaites quand même l'ouvrir avec un autre formulaire après avoir fait un choix de fournisseur, le plus simple aurait été de choisir directement depuis la zone de liste puisque tu l'as créé pour cela ...

    Mais si c'est vraiment comme cela que tu désires gérer ton IHM, dans l'évènement Load du Formulaire_Tous_Les_Fournisseurs met ce code à la place de l'ancien:
    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()
        ' on empêche toute saisie
        Me!Sous_Formulaire_Tous_Les_Fournisseurs.Form.FilterOn = False
        Me!Sous_Formulaire_Tous_Les_Fournisseurs.Form.AllowEdits = False
        Me!Sous_Formulaire_Tous_Les_Fournisseurs.Form.AllowAdditions = False
        Me!Sous_Formulaire_Tous_Les_Fournisseurs.Form.DataEntry = True
        ' si appel depuis formulaire de recherche
        If Not IsNull(Me.OpenArgs) Then
            Me.[ListeFournisseurs] = Me.OpenArgs
        Call ListeFournisseurs_Click
        End If
    End Sub
    et dans le formulaire de recherche, sur l'évènement déclencheur tu ouvres le formulaire appelé comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "Formulaire_Tous_Les_Fournisseurs", OpenArgs:=Me.NomFournisseurs
    et cela sera mon dernier message car ce post est résolu ..

  19. #19
    Membre du Club
    Homme Profil pro
    France
    Inscrit en
    Novembre 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : France

    Informations forums :
    Inscription : Novembre 2018
    Messages : 135
    Points : 55
    Points
    55
    Par défaut
    Merci tee_grandbois et madefemere,


    C'est nickel

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

Discussions similaires

  1. [XL-2010] Contrôle d'erreur lors de la saisie d'une variable de type Byte
    Par xloganx dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/03/2017, 23h01
  2. Affichage d'un message d'erreur lors d'une saisie de lettre
    Par quik03jump dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 27/01/2016, 17h06
  3. Réponses: 2
    Dernier message: 27/06/2011, 16h07
  4. Jouer un son suite à une erreur lors d'une saisie
    Par marcel marie dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/03/2010, 11h01
  5. afficher un message d'erreur lors d'une saisie
    Par ludovicparis dans le forum IHM
    Réponses: 4
    Dernier message: 20/03/2007, 11h37

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