|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 2 ![]() |
Salut je suis débutant en ACCESS,je crée une base des données pour gérer la caisse d'un commerce,il s'est fait que des reductions sont accordés à certains clients alors j'ai crée un champ CATEGORIE pour differencier les clients et ce champ est utilisé comme clé primaire,categorie A pour à qui une réduction de 10% est accordeé, categorie B pour ceux de 20% et C pour ceux de 30% et je voudrais qu'au niveau du formulaire FACTURE CLIENT qui est à imprimer ces calculs puissent s'opérer automatiquement au niveau du pied de formulaire aprés que je choisi la catégorie du client,comment faire?
|
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 098 ![]() |
Bonjour,
3 méthodes possibles : Méthode statique. Les taux de remises sont écrites directement dans le code. Code :
= montant - (montant * iif(categorie like "A";0.1;iif(categorie like "B";0.2;0.3))) categorie est le champ contenant la catégorie client (celui-ci doit 2 inconvénients : l'imbrication des iif qui peut prendre des proportions avec la quantité de catégorie. l'obligation d'éditer le code lorsque que l'on ajoute ou change une catégorie. Note qu'avec une catégorie numérique 1 au lieu de A, 2 au lieu de B... on peut utiliser Choose() qui se réduit à une fonction au lieu d'une par catégorie -1. Méthode paramétrée. Cette méthode a 2 avantages : L'ajout, la modification, la suppression de catégorie peut se faire par l'utilisateur, pas de code à modifier. Pas d'imbrication de iif(). Inconvénient : On doit créer une table supplémentaire pour gérer les remises. Table : tbl_param Champ 1 : param (texte 1) contient A, B, C Champ 2 : valeur (double) contient la remise sous forme 0.1, 0.2... Code :
=Montant - (Montant * dlookup("Valeur";"tbl_param";"Param like " & Categorie)) De loin la plus simple. Catégorie ne contient pas A B ou C mais directement 1, 2, 3 (la valeur de la remise * par 10) Après on peut faire des variantes avec VBA, un tableau... est-ce vraiment la peine. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 2 ![]() |
Merci beaucoup LOUFAB,j'ai essayé la 3ème méthode et ça marche à merveille
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com