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 :

Fonction mathématique qui n'autorise que la saisie de multiples d'une valeur [AC-2000]


Sujet :

VBA Access

  1. #1
    Membre régulier Avatar de Nerva
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 366
    Points : 97
    Points
    97
    Par défaut Fonction mathématique qui n'autorise que la saisie de multiples d'une valeur
    Bonjour.

    Je recherche une fonction qui n'autorise que la saisie de multiples d'une valeur.

    Explications...

    Le formulaire commandes possède un sous-formulaire, commandes_sub, utilisé pour saisir les lignes de commande d'articles.
    La ZDL pr_id affiche la référence, la désignation, etc... et le conditionnement pr_conditionnement dans la colonne (4).
    Les articles sont vendus par lots mais la facturation se fait au prix unitaire. Par exemple, pour un article à 10 € conditionné par boîte de 6, le prix unitaire est de 10 € et la quantité est de 6 au minimum.

    Je recherche donc une fonction qui affiche un message d'erreur si la quantité saisie dans co_quantite n'est pas égale à un multiple de pr_conditionnement (elle ne peut non plus être inférieure à pr_conditionnement).

    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    s'il s'agit toujours de nombres entiers, vois la fonction Modulo (Mod) : elle te donne le reste de la division.

    Si tes nombres sont décimaux :
    1er temps les élever à une puissance de 10 égale au nombre de décimales ---> en faire des entiers.
    2ème calculer le modulo.

    (Modulo agit sur des nombres entiers)

  3. #3
    Membre régulier Avatar de Nerva
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 366
    Points : 97
    Points
    97
    Par défaut
    Ce sont toujours des nombres entiers. Donc, une condition du genre "si division = entier, alors bon, si reste, alors pas bon"...

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    Essaie de mettre ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >0 Et ([co_quantite] Mod [pr_conditionnement])=0
    dans la condition de validation du contrôle co_quantite.

    A+

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,
    personnellement je trouve bien compliqué le fait de demander de saisir les multiples d'une valeur (pour véfier qu'il s'agît bien d'un entier) plutôt que de permettre la saisie d'un entier simple.
    Selon ton exemple, tu commandes un, deux... n * unité, l'unité étant ici 6 articles (ou plutôt une boîte de 6).
    Peut-être est-il utile de définir, un code article par conditionnement, ainsi un article seul, et une boîte de x articles sont deux articles différents.
    Par exemple, un CD vierge vendu à l'unité n'est pas le même article que le même CD vierge vendu en boîte de 10, ou en cloche de 50.
    D'un point de vue comptable c'est la boîte qui est commandée, et non juste les 10 articles.
    Ou alors il faudrait définir une unité de commande, ainsi selon ton exemple une quantité commandée correspond au niveau facturation à [quantité commandée]*[unité de commandes].

  6. #6
    Membre régulier Avatar de Nerva
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 366
    Points : 97
    Points
    97
    Par défaut
    LedZeppII
    Ca fonctionne. Merci bien...

    ilank
    Il s'agit des commandes effectuées chez le fournisseur et non pas de la revente aux clients.
    Dans la table des articles, j'ai le prix d'achat HT et le prix de vente HT. J'ai ensuite une requête qui me donne le stock magasin, en fonction des achats et des ventes.
    En comptabilisant les achats à l'unité, la procédure complète est très légère ; pas de calculs supplémentaires pour multiplier la quantité par lot et la répertorier dans une colonne. C'est très fluide et cette condition va juste servir au cas où...

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

Discussions similaires

  1. [JavaScript] [FAQ][MAJ] Comment n'autoriser que la saisie de chiffres dans un champ texte?
    Par Bisûnûrs dans le forum Contribuez
    Réponses: 8
    Dernier message: 10/01/2012, 18h08
  2. Autoriser que la saisie des chiffres
    Par stfanny31 dans le forum Débuter
    Réponses: 7
    Dernier message: 20/05/2008, 22h22
  3. Réponses: 4
    Dernier message: 14/05/2008, 14h35
  4. Réponses: 3
    Dernier message: 14/09/2007, 14h30

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