Visites

   visiteurs

   visiteurs en ligne

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 wink

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

Se reconnecter
---

Votre nom (ou pseudo) :

Votre code secret


 Nombre de membres 1 membre


Connectés :

( personne )

Haut