Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Constantes à utiliser dans une reqête

1 réponse
Avatar
Cooly
Bonjour,
Après 6 ans d'interruption, je suis en train de reprendre Access pour créer
une application
pour une association, et j'ai beaucoup oublié en la matière !
De plus je ne maîtrise pas Visual Basic... et je ne sais pas où se logent
les FAQ pour Access...

J'ai créé une base qui fonctionne correctement, mais j'aimerais qu'elle
puisse fonctionner
avec le minimum d'intervention ultérieurement, donc que les valeurs quasi
permanentes,
les constantes, puisse être facilement modifiées, dans un formulaire par
exemple.

La saisie des données se fait par des cases à cocher.
A chaque case cochée correspondent différentes valeurs que j'aimerais placer
dans
des tables de constantes, ou équivalent, pour pouvoir effectuer des calculs
dans les états, après comptage des cases cochées.

Exemple:
J'ai coché une case nommée Matin, et à cette case correspondent une durée et
une valeur.
Pour des calculs de durée de présence, la valeur est exprimée en minutes,
selon une table à créer
Pour les calculs de prix, la valeur est exprimée en Euros, mais sans liaison
logique
avec la durée ci dessus, selon une deuxième table à créer.

Dans les propriétés, j'ai mis la formule :
Source contrôle : =Somme([Matin])*(-1)*1,35 ...et j'ai le bon résultat
bien sûr!
Je voudrais remplacer la valeur 1.35 par une valeur tirée d'une table
indexée ou équivalent,
style Valeur(1) = 1.35, Valeur (2) = 1.75, etc.
Ma question:
Comment puis-je créer cette table indexée ou équivalent, et surtout comment
y faire appel
dans mon état, dans le style de Source contrôle :
=Somme([Matin])*(-1)*Valeur(1) ?

Qui à une idée sur ce sujet ?

1 réponse

Avatar
Raymond [mvp]
Bonjour.

pour travailler avec des constantes, tu as plusieurs solutions:
1- tu lis toutes les constantes au chargement de la base, lorsque tu en as
besoin dans le vba, tu les appellent directement et quand tu en as besoin
dans une requête tu appelles une fonction qui te retourne la valeur.
2- tu appelles les constantes quand tu en as besoin par la fonction DLookup
en indiquant le champ valeur, la table et le champ clé en critère.

les constantes sont placées dans une table à 2 champs, 1 le nom de la
constante et 2 la valeur.
chaque constante porte un nom qui sert dans le critère de DLookup ou pour
les mémoriser en début.
exemple:
DLookup("Nom1", "tableparm", "[Nom1]= '" & "TVA" & "'" )

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Cooly" a écrit dans le message de news:
41e93709$0$19423$
Bonjour,
Après 6 ans d'interruption, je suis en train de reprendre Access pour
créer une application
pour une association, et j'ai beaucoup oublié en la matière !
De plus je ne maîtrise pas Visual Basic... et je ne sais pas où se logent
les FAQ pour Access...

J'ai créé une base qui fonctionne correctement, mais j'aimerais qu'elle
puisse fonctionner
avec le minimum d'intervention ultérieurement, donc que les valeurs quasi
permanentes,
les constantes, puisse être facilement modifiées, dans un formulaire par
exemple.

La saisie des données se fait par des cases à cocher.
A chaque case cochée correspondent différentes valeurs que j'aimerais
placer dans
des tables de constantes, ou équivalent, pour pouvoir effectuer des
calculs dans les états, après comptage des cases cochées.

Exemple:
J'ai coché une case nommée Matin, et à cette case correspondent une durée
et une valeur.
Pour des calculs de durée de présence, la valeur est exprimée en minutes,
selon une table à créer
Pour les calculs de prix, la valeur est exprimée en Euros, mais sans
liaison logique
avec la durée ci dessus, selon une deuxième table à créer.

Dans les propriétés, j'ai mis la formule :
Source contrôle : =Somme([Matin])*(-1)*1,35 ...et j'ai le bon résultat
bien sûr!
Je voudrais remplacer la valeur 1.35 par une valeur tirée d'une table
indexée ou équivalent,
style Valeur(1) = 1.35, Valeur (2) = 1.75, etc.
Ma question:
Comment puis-je créer cette table indexée ou équivalent, et surtout
comment y faire appel
dans mon état, dans le style de Source contrôle :
=Somme([Matin])*(-1)*Valeur(1) ?

Qui à une idée sur ce sujet ?