Bien le bonjour,
J'ai une table avec des taux de TVA.
au démarrage de la base j'aimerais extraire les données de la table TVA et les charger dans des variables.
Pouvez vous me donner un exemple.
merci
Bien le bonjour,
J'ai une table avec des taux de TVA.
au démarrage de la base j'aimerais extraire les données de la table TVA et les charger dans des variables.
Pouvez vous me donner un exemple.
merci
Voici comment tu peux procéder.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 'charge les taux de TVA dans un tableau en mémoire dim tTVA as double() dim db as dao.database:set db=currentdb dim r as dao.recordset:set r=db.openrecordset("NomTaTableTVA") r.movelast:r.moveFirst 'Force le comptage des enregistrement redim tTVA(r.recordcount) dim i as long do while not r.eof() tTVA(i)=r![TauxTVA] i=i+1 r.movenext loop r.close:set r=nothing set db=nothing
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 'Solution alternative pour lire un taux en particulier public function LireTauxTVA(prmClefTaux as string) as double dim tonTaux as double dim tonTauxLu as variant:tonTauxLu=DFirst("TauxTVA","NomTableTVA","[ClefTva]=""" & prmClefTaux & """") 'Ne pas utiliser NZ() avec des nombres décimaux, cela coupe parfois les décimales. if not insull(tonTauxLu) then tonTaux=tonTauxLu else tonTaux=0 end if LireTauxTVA=tonTaux end functionA+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 'Exemple d'utilisation dim TauxReduit as double:TauxReduit=LireTauxTVA("REDUIT")
grand merci R.MAROT.
Je ne comprend pas tout mais je vais me debrouiller
a+
bonjour,
en fait voilà ce que je voulais faireJ'avais oublié que j'avais un livre de Microsoft office ACCESS 2003. En fouillant j'ai trouvé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Dim db As DAO.Database Dim rst As DAO.Recordset Set db = Application.CurrentDb Set rst = db.OpenRecordset("tblTvaPourInfoFacture") While rst.EOF = False RepTVA = rst!Taux RepTVA1 = rst!Taux1 RepTVA2 = rst!Taux2 RepTVA3 = rst!Taux3 RepTVA4 = rst!Taux4 RepTVA5 = rst!Taux5 rst.MoveNext Wend rst.Close Set rst = Nothing Set db = Nothing
En tout cas grand merci de ton aide MAROT
a+
Pour info et une meilleur maintenance il vaudrai mieux utiliser un tableau de valeur (dim tva(nombreValeur)) plustôt que 5 variables et de même dans ta table il faudrait avoir une table des taux de TVA associée à ta facture.
Une solution serait problement d'associer un code TVA à chacune de tes lignes facturation puis d'utiliser un requête qui les inventorier.
Là si tu a ajoutes ou enlève un taux tu va devoir modifier ton code ... c'est toujours un peu plus complexe que de traiter des enregsitrements en boucle.
A+
bonsoir,
Tu as certainement raison rené mais je ne suis pas assez compétant pour comprendre ce que tu proposes.(je suis autodidacte et je programme par passion )
J'ai intégré les variables dans mon état. Si il y a une modif de taux je suis redirigé vers le formulaire de départ pour recharger mes nouveaux taux.
En tout cas je te remercie pour ton aide. C'est vraiment sympa![]()
Ok alors voilà un petit ajout à tes compétences de programmation dont tu me remerciera un jour :-) : les tableaux !!!
L'intéret du tableau c'est de pouvoir faire des boucles qui permettent de traiter 1 ou 200000 d'info de la même façon et en quelques lignes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 dim RepTVA(5) as double 'Attention le (5) indique l'indice maximum et les indices commences à 0 donc en réalité c'est un tableau de 6 éléments. dim i as long:for i=lbound(RepTVA) to ubound(RepTVA) 'de l'indice minimum à l'indice maximum 'Affiche le contenu de chacune des cases du tableau debug.print REPTVA(i) next i
tu peux aussi avoir des tableaux à plus de 1 dimension (par exemple 3 pour représenter des points dans un l'espace).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 dim sommeTaux as double dim i as long:for i=lbound(RepTVA) to ubound(RepTVA) 'Fait la somme de toutes les cases du tableau sommeTaux=sommeTaux + REPTVA(i) next i debug.print sommeTaux
Ici un exemple avec 2 dimensions :
Note que dans Access on peut généralement remplacer un tableau à une ou deux dimension par une table ou une requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 dim RepTVA(5,2) '6 lignes x 3 colonnes dim sommeTaux as double dim i as long dim j as long for i=lbound(RepTVA(0)) to ubound(RepTVA(0)) for j=lbound(RepTVA(1)) to ubound(RepTVA(1)) 'Fait la somme de toutes les cases du tableau ligne par ligne et colonne par colonne. sommeTaux=sommeTaux + REPTVA(i, j) next j next i debug.print sommeTaux
A+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager