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

VBA Access Discussion :

Comment faire pour valider la saisie d'un champs automatiquement ? [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut Comment faire pour valider la saisie d'un champs automatiquement ?
    Bonjour,
    J'utilise un FORM avec un sous Form qui, lui, est en mode feuille de données.

    Ce sous form contient des colonnes :
    JANVIER, FEVRIER, ... , DECEMBRE
    L'utilisateur saisit des qtés dans 1 ou plusieurs mois selon son besoin.
    la qté peut-être de 1 à 9999.

    Une fois la saisie faîte, l'utilisateur clique sur un bouton pour lancer un calcul selon les valeurs saisies.

    Pour faire simple, disons que le calcul lancé est l'addition de toutes les valeurs saisies.

    Mon pb est que je viens de m'apercevoir d'un pb avec la saisie des colonnes (pb sur la dernière colonne saisie (quel que soit le mois) :
    si je saisis un nombre (ex : 5, en JANVIER et 10 en MARS) et que je clique sur mon bouton pour lancer le calcul.
    ACCESS ne me 'voit' que la valeur de janvier soit 5.

    Celle de MARS (10) n'est pas 'vue' car le curseur est resté dans le champ. Donc ACCESS ne considère pas la valeur comme validée.
    Comment puis-je faire pour éviter que mon user laisse son curseur après la saisie d'un valeur dans un champ ? ou comment faire pour qu'Access prenne bien en compte toutes les valeurs saisies ?

    Merci pour vos conseils.
    Thibault

  2. #2
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 330
    Points : 207
    Points
    207
    Par défaut
    Bonsoir Tifobo,

    Essaie d'insérer cette ligne avant de lancer ton calcul
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunCommand acCmdSaveRecord
    @+

  3. #3
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Je te réponds par 2 questions :

    Quel lien existe t-il entre le form et le sous form ?
    et comment le calcul est-il effectué ?

    Poste un peu de code... Là, ce n'est pas évident de te répondre.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 58
    Points : 64
    Points
    64
    Par défaut
    as tu tenté d'actualiser ton sous-form avant d'executer le calcul ?
    celà validera la saisie de ton user !

    @+
    vince

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut
    Merci à vous tous pour vos réponses !!

    J'ai trouvé un moyen tout bête. sur mon bouton, j'ai mis en 1ère ligne de code, le focus sur un autre champ.

    du coup mon calcul est bon !

    Merci

  6. #6
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    Salut c'est normal que maintenant ca fonctionne puisque en mettant le focus sur un autre champ tu provoque un update automatique de access qui en même temp fait un "Save" au niveau des tables....

    moi j'ai déja créer un calcul selon plusieurs champ voici le code en VBA ... ca peut te donner une piste comment t'y prendre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'La valeur par défault de mes champs est 0
    Private Sub champ1_AfterUpdate()
    If Me.champ <= 4 Then
    Me.champ_total = Me.champ1 + Me.champ2 + Me.champ3
    Else
    MsgBox "veuillez saisir un chiffre entre 1 et 4 merci", vbInformation, "Chiffre trop élevé"
    End If
    End Sub
    'meme code pour champ2 et champ3 etc...
    Donc sans bouton le calcul se fait automatiquement
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

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

Discussions similaires

  1. [XL-2010] Comment faire pour controler une saisie
    Par pierrot10 dans le forum Excel
    Réponses: 1
    Dernier message: 11/03/2011, 10h13
  2. Réponses: 1
    Dernier message: 06/10/2009, 10h06
  3. comment faire pour limiter la saisie utilisateur
    Par matinz dans le forum Débuter
    Réponses: 2
    Dernier message: 04/07/2009, 17h05
  4. Réponses: 1
    Dernier message: 12/11/2007, 14h04
  5. [VB6] Comment faire pour annuler la saisie dans un combobox ??
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 14/06/2006, 15h16

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