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 :

vérifier valeur saisie champ formulaire.


Sujet :

IHM

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut vérifier valeur saisie champ formulaire.
    Bonjour,
    Je débute avec Access, et j'ai une base de données à créer pour mon entreprise pour gérer le stock.

    Le problème est de savoir comment vérifier une valeur saisie dans un champ d'un formulaire.

    Je m'explique, j'ai deux formulaires, un pour sortir mon matériel, un autre pour le retour du matériel. Sur mon formulaire de sortie, je saisie un numéro de bon, ainsi que d'autres informations client.
    Lorsque que j'ouvre mon formulaire de retour avec le numéro de bon, j'affiche toutes les informations saisies dans le formulaire de sortie.

    Dans celui-ci, j'ai plusieurs lignes avec mes numéros de produits et un "S" pour mon type de mouvement (sortie). Je saisie alors mes numéros produits à la suite de la liste et automatiquement un "E" pour entrée s'inscrit dans la colonne type de mouvement. Tout fonctionne lorsque je rentre les mêmes produits dans mon formulaire d'entrée et de sortie, je peux imprimer un état des produits manquants.
    Un problème se pose si je saisie un produit dans mon formulaire de retour qui n'a pas été saisie dans le formulaire de sortie. J'aimerai pouvoir empêcher les utilisateurs de saisir dans le formulaire de retour un produit qui n'a pas été saisie dans le formulaire de sortie. Si quelqu'un à une idée comment je pourrait m'y prendre pour réaliser ceci, ça serait vraiment sympa. Merci.

  2. #2
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Points : 939
    Points
    939
    Par défaut
    Les données saisies dans ton formulaire de sortie sont ajoutées à la base de données ?
    Si c'est le cas, dans l'évènement AfterUpdate de ton contrôle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If DCount("monchamp", "matable", "monchamp LIKE '" & moncontrole.Value & "'") = 0 Then
      MsgBox "La valeur saisie n'existe pas dans la base de données"
      moncontrole.SetFocus
    End If
    Dans l'idéal et pour éviter les erreurs de saisie il vaut mieux :
    - mettre une zone de liste qui affiche les valeurs de la table concernée
    - ou mettre un masque de saisie pour les valeurs saisies à la main

    J'espère avoir bien compris le problème

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci de me répondre aussi rapidement.

    Oui, les informations saisies dans le formulaire de sortie de matériel sont ajoutés à l'aide d'une requête. Celles-ci sont ajoutées dans trois tables qui sont liés avec intégrité référentielle (Clients,Bons,Mouvement). C'est la même requête qui m'affiche les informations dans le formulaire de sortie.

    Mais au niveau du code, je ne sais pas trop comment faire pour le mettre en place dans ma base de données ACCESS 2007. Si tu pourrait m'éclairer un peu ou je doit mettre le code. Merci

  4. #4
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Points : 939
    Points
    939
    Par défaut
    Dans ton formulaire avec quel contrôle saisis-tu les données ?
    Zone de texte ? Zone de liste ?
    C'est dans ce contrôle que tu dois mettre le code que je t'ai donné.
    Fais une capture d'écran des formulaires concernés, s'il te plait, que je voie à quoi ça ressemble.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Access 2007 autoriser saisie valeurs resultant d'une requête
    Bonjour,
    merci de t'intéresser à mon cas, et voici donc les imprime écran.

    Voici le formulaire "Retour de produits" lors de l'ouverture:



    L'utilisateur recherche son enregistrement par rapport au n° de Bon de sortie. Le formulaire se rempli alors ainsi:



    C'est à l'aide d'une requête que Access recherche dans la table "mouvement" par rapport à un numéro de bon dans la table "bon".
    Le fonctionnement que je recherche est qu'on puisse seulement saisir les références des produits qui sont déjà affichés, ou qui résultent de cette requête et aucune autre. J'ai essayé plusieurs technique, mais pour l'instant c'est pas encore opérationnel.

    Voici les relations des tables:


    J'espère avoir mieux poser le problème, et d'avoir apporter plus d'élément afin d'analyser les solutions possible.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonjour,
    Remplacer la zone de texte « N° de bon de sortie » par une zone de liste déroulante basée sur la requête, et mettre limiter à liste à oui, seuls les bons existants pourront être saisis.

  7. #7
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Points : 939
    Points
    939
    Par défaut
    Citation Envoyé par DyDansh Voir le message
    Bonjour,
    merci de t'intéresser à mon cas, et voici donc les imprime écran.

    Voici le formulaire "Retour de produits" lors de l'ouverture:



    L'utilisateur recherche son enregistrement par rapport au n° de Bon de sortie. Le formulaire se rempli alors ainsi:



    C'est à l'aide d'une requête que Access recherche dans la table "mouvement" par rapport à un numéro de bon dans la table "bon".
    Le fonctionnement que je recherche est qu'on puisse seulement saisir les références des produits qui sont déjà affichés, ou qui résultent de cette requête et aucune autre. J'ai essayé plusieurs technique, mais pour l'instant c'est pas encore opérationnel.

    Voici les relations des tables:


    J'espère avoir mieux poser le problème, et d'avoir apporter plus d'élément afin d'analyser les solutions possible.
    Je ne vois pas les images mais comme je te disais plus haut, le mieux est d'éviter les zones de texte et de préférer les zones de liste.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour!!!

    Merci pour vos conseils, après quelques essais infructueux, j'ai réussi à obtenir le fonctionnement que j'espérai, j'ai bien utilisé une liste déroulante et limité à la liste et ça fonctionne.

    Il reste comme même une petite chose que j'aimerai automatiser pour rendre plus agréable et plus souple l'utilisation de cette base de données.

    Ma liste déroulante est basé sur une requête avec un paramètre "Choisir le N° de bon". Donc quand je clique sur la liste déroulante, Access me demande de saisir le N° de bon que je doit saisir manuellement, j'aimerai pouvoir récupérer la valeur du champ N° de Bon du formulaire actif et l'insérer comme paramètre de la requête de ma liste déroulante.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 165
    Points : 62
    Points
    62
    Par défaut
    Sur Access 2007, dans les propriétés de ta "zone de liste déroulante", dans l'onglet "Données", il y a deux champs qui devraient t'intéresser.
    "Contenu" : tu y mets la requête devant te remplir ta liste
    "Origine source" : tu y choisis "Table/Requête"
    J'espère que ça correspond à ta demande

  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonjour,
    j'ai peut être répondu un peu trop vite, si ta requête à comme filtre le N° de bon de ta liste déroulante il faut que cette dernière soit basée sur la table qui a enregistré les bons actifs et non sur ta requête et faire référence dans celle-ci, dans la colonne critère, à ta zone de liste déroulante du formulaire.

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour !!!!
    J'ai bien avancé dans mon projet grâce à tous vos conseils, et je vous en remercie.

    Maintenant je ne sais pas trop comment m'y prendre pour charger ma liste déroulante. Actuellement ma liste se base sur une requête avec un critère que je saisie manuellement. Lorsque je clique sur le petit triangle pour dérouler ma liste une fenêtre s'ouvre comme sur l'imprime écran suivant:



    Donc je saisie le numéro de bon 1 dans ce cas et la liste se charge comme ci-dessous:


    Les valeurs que je peux saisir sont bien celle de la liste. Mais je pense qu'il existe peut être un moyen peut être de définir ma requête avec un critère variable. Ce critère serait chargé dès que je change la valeur du champ "N° de Bon" dans mon formulaire afin de mettre la liste à jour par rapport à celui-ci, ou peut-être il faut que je pose le problème autrement. Je sais pas comment faire J'ai encore tout le weekend pour trouver mais si quelqu'un à une idée, toute proposition est bien bienvenue.
    Merci encore à tous.

  12. #12
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    re,
    revoir mon post précédent, base ta liste déroulante sur la table qui contient les n° de bons et dans ta requête dans le champ où il y a les n° de bons dans le champ critère fait référence à ta zone de liste déroulante.
    sinon poste ta base épurée et zippée.

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Je vous remercie de prendre le temps de regarder ma base de données et essayé de résoudre mon problème.Ça sera plus facile de comprendre le fonctionnement de celle-ci. Vous trouverez ci-joint un fichier ZIP contenant la base de données.

    Cordialement.
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 12/05/2010, 22h28
  2. Réponses: 5
    Dernier message: 20/10/2006, 15h26
  3. Débutant-Insertion dans table valeurs saisies sur formulaire
    Par Michel Hubert dans le forum Access
    Réponses: 2
    Dernier message: 14/04/2006, 19h38
  4. débutant-Insertion dans table valeurs saisies sur formulaire
    Par Michel Hubert dans le forum Access
    Réponses: 2
    Dernier message: 13/04/2006, 09h07
  5. Valeur dans champ formulaire
    Par dbi dans le forum Access
    Réponses: 5
    Dernier message: 18/02/2006, 01h18

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