{Access} Champ de calcul variant selon ligne

Résolu/Fermé
KojirouF Messages postés 3 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010 - 15 mars 2010 à 13:22
KojirouF Messages postés 3 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010 - 16 mars 2010 à 22:43
Bonjour,
Je vous explique :
J'ai une base avec des pièces d'équipement de moteur dans une table, et une table compteurs qui recensent les différents compteurs pour l'id d'une pièce donnée. Je dois faire des calculs de dates à partir de ces compteurs, et ce calcul varie selon le type de pièce. Hors, j'aimerais avoir une seule colonne dans ma table équipement qui définisse cette date. Etant novice dans Access (2002), je voulais savoir si cela était possible.
Pour être plus clair, ma colonne de calcul irait chercher des valeurs différentes dans la table des compteurs suivant le nom de la pièce.

Merci d'avance.
A voir également:

4 réponses

blux Messages postés 26004 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
15 mars 2010 à 22:50
Salut,

un exemple, parce que ton explication est floue : j'aimerais avoir une seule colonne dans ma table équipement qui définisse cette date

Pour être plus clair, ma colonne de calcul irait chercher des valeurs différentes dans la table des compteurs suivant le nom de la pièce.
Comment sont faits tes calculs ?
0
KojirouF Messages postés 3 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010
16 mars 2010 à 09:19
Salut blux,
j'ai une table equipement qui définit les différentes pièces d'un moteur, certaines ont des limites de cycles (donc une date définie par rapport aux cycles maximum auxquels on enlève le nombre de cycles actuels de la pièce, la date prévue dépendant du nombre d'heures moyen de vol du moteur par an), d'autres ont une limite de révision au kilométrage (comme les voitures), j'ai également une table compteurs qui, pour l'id d'une pièce donnée aura 1 compteur CSN (pour les cycles, avec la valeur et le nombre de cycles max sur la meme ligne) ou un compteur TSO pour les révisions suivant le type de la pièce. Le problème est donc que le calcul n'est pas exactement le même dans ces 2 cas, et je dois créer une colonne forecast qui affichera toutes les dates prévues(à la base je voulais le faire dans la table equipement, mais d'après ce que j'ai lu ce n'est pas très judicieux de faire des calculs dans une table, mais je souhaiterais quand même avoir cette valeur stockée dans la base...)
0
blux Messages postés 26004 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
16 mars 2010 à 17:40
Dans ce cas, tu dois créer une fonction personnalisée que tu appelleras dans ta requête.

Exemple :

On veut concaténer Champ1 et Champ2 de la table Table1.

- créer un module avec le code suivant :
Public Function concat(val1 As String, val2 As String) As String
concat = val1 & val2
End Function
Il indique que l'on crée une fonction qui prend deux chaines en entrée et renvoie une chaine en sortie, après en avoir effectué la concaténation.

- Appeler la fonction dans une requête :
SELECT concat(Champ1,Champ2) FROM Table1;
Par contre, toi seul sait ce qui doit être programmé dans cette fonction, donc là, je te laisse, mais si tu as des problèmes en VBA, on peut continuer sur ce post :-)
0
KojirouF Messages postés 3 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010
16 mars 2010 à 22:43
Merci pour ta réponse, c'était au final assez simple et ça m'a bien aidé.
0