|
Sujet n°278 |
If..........Then avec operations mathematique
par Lendcap
le 15/10/2009 : 17:57 |
Bonjour Pierre,
j'ai un soucis que je pense comme toujours que devrais resoudre comme toujours sans trop d'efforts.
Au fait j'ai à l'entête de mon formulaire FACTURE un champ nommé AssujettiTVA de type de donnée Oui/Non que je voudrai conditionné à telle enseigne qu'après sa mise à jour, les champs TotalHT, TVA, TotalTTC se trouvant dans la zone Detail du FOrmulaire reçoive les valeurs suivantes:
Lorsque la valeur assignée à AssujettiTVA est Oui :
TVA = (TotalHT)*0,189
TotalTTC= (TotalHT)*1,189
Sinon
TVA =0
TotalTTC=0
STP indiques moi la procedure. J'ai tenté plusieurs petits trucs mais je n'arrive pas à obtenir ce que je veux.
Merci d'avance pour ton aide.
Lendcap |
Réponse n° 1 |
par 3Stone le 15/10/2009 : 18:33 |
Bonjour,
J'imagine que c'est une case à cocher... Dans ce cas, vérifies qu'elle se nomme bien "AssujettiTVA"
Dans la Sub de l'événement "Après mise à jour" tu écris ceci:
Private Sub AssujetiTVA_AfterUpdate() If AssujetiTVA = True Then TVA = (TotalHT) * 0.189 TotalTTC = (TotalHT) * 1.189 Else TVA = 0 TotalTTC = 0 End If End Sub
La première et dernière ligne s'y trouve déjà... et remarque que tu dois utiliser le "." (point) comme séparateur!
Ainsi, lorsque tu coches ou décoches, la modification se fera, MAIS, elle n'est plus prise en compte lorsque tu passe d'un enregistrement à un autre
Pour cela, il suffit d'appeller le même code dans la Sub "Sur activation" du formulaire.
Cela te donne le code suivant:
Private Sub Form_Current() Call AssujetiTVA_AfterUpdate End Sub
Voilà...
Ah, une chose encore ! Il n'est pas bon d'écrire une valeur comme la TVA "en dur" dans un formulaire. Elle peut changer à tout moment. Il vaut donc mieux ajouter cela (ou plutôt le "code TVA" dans la table des... articles. En plus, une petite table "T_TauxTVA" avec 2 champs: Code, Taux. Dans le formulaire, il te reste à utiliser le taux en rapport avec le code.
Cordialement, Pierre(3stone)
|
Réponse n° 2 |
par Lendcap
le 15/10/2009 : 18:49 |
Merci bien Pierre, Sans même essayer je sens que ça va marcher parce que la première procedure je l'avais dejà et il me manquait celle de l'evènement sur activation tu es vraiment un as des as et merci beaucoup pour le conseil en fin de page. Lendcap |
Réponse n° 3 |
par Lendcap
le 16/10/2009 : 11:22 |
Bonjour Pierre, j'ai essayé et ça fonctionne à merveille mais j'ai une autre petite inquietude à propos. Je n'arrive pas à traduire cela sur mon etat FACTURE. Comment devrais je proceder ? J'ai repris les memes champs(TotalHT, TVA, TotalTTC) sur mon etat et j'ai collé le même code à evènement sur activation mais ça ne marche pas. Merci d'avance pour ton aide. Lendcap |
Réponse n° 4 |
par 3Stone le 16/10/2009 : 13:48 |
Bonjour,
Dans un état, plus besoin de réagir a l'activation ou non d'une case à cocher... Tu peux alors placer cela simplement dans la Sub de l'événement "Au formatage" de la section Détail.
Tu peux également faire cela dans la requête source de l'état.
TVA: iif(AssujetiTVA ; TotalHT * 0.189 ; 0)
TotalTTC: iif(AssujetiTVA ; TotalHT * 1.189 ; TotalHT)
Ceci dit, la méthode que tu utilises suffit probablement pour ton besoin précis. Car dans un système de facturation normal, le taux de TVA doit être sauver pour chaque article de la facture... une réimpression d'une ancienne facture doit pouvoir être possible sans pour autant suivre les fluctuation de la TVA... et du prix des articles.
Cordialement, Pierre(3stone)
|
[ Retour à la liste des sujets ]
| Recherche
Préférences
1 membre
Connectés :
( personne )
|