Calculer date d'échéance selon autre table

Résolu
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   -  
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans ma BDD Access, j'ai une table (T_liste_formations) et une autre table, avec les dates de période de paie (T_Paies).

J'aimerais, dans T_liste_formation, calculer un champ pour l'échéance d'un relevé à produire, en fonction de la date de formation. Ou encore, dans une requête... en fait, je ne sais pas trop où, ni comment effectuer le calcul.

Champs impliqués :
T_liste_formation!Date_formation
T_Paies!Lundi_approb_rel

Ce que je souhaite, c'est que selon la date de la formation, le résultat soit le lundi de la prochaine période d'approbation des relevés (soit aux 2 semaines).

J'espère être claire!

(Au cas où, un exemple :
Lundi approbation : 2016-11-28; 2016-12-12; 2016-12-26; 2017-01-09; ...
Alors si date de la formation = 2016-12-09, résultat = 2016-12-12
Si date de la formation = 2017-01-02, résultat = 2017-01-09, etc.)


Merci de me venir en aide!

A voir également:

1 réponse

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
J'ai supposé que tu voulais, pour chaque date de formation, trouver la date de paie suivante. Suggestion :
SELECT Date_formation, min(Lundi_approb_rel) as echeance
FROM T_liste_formation,  T_Paies where Lundi_approb_rel>Date_formation
group by Date_formation;
Cela donne quoi?
0
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   40
 
Merci de cette réponse rapide!

Très, très bonne piste. Sans être experte en VBA, ce que j'en comprends me semble logique...

Questions :
1. Où dois-je insérer le code? Dans la T_liste_formations? Dans un module? Autre?
2. Pourquoi ça ne fonctionne pas? (J'ai eu plusieurs messages d'erreur.)

Voici comment j'ai d'abord finalisé le code :
Sub CalculEcheance()

SELECT Date_formation, min(Lundi_approb_rel) as echeance
FROM T_liste_formations, T_Paies WHERE Lundi_approb_rel>Date_formation
group by Date_formation;

End Sub


(J'ai corrigé le nom de la table, il manquait un "S" (ma faute)!)

Puis j'avais des messages d'erreur que j'ai fini par régler partiellement, à coups de recherche web, pour donner :

Sub CalculEcheance()

Dim strSQL As String

strSQL = "SELECT Date_formation, DMin(Lundi_approb_rel,T_Paies) as echeance"
strSQL = "FROM T_liste_formations, T_Paies WHERE lundi_approb_rel>Date_formation"
strSQL = "group by Date_formation"

End Sub


Maintenant, je n'ai plus de message de bogue, mais rien ne s'exécute.
J'ai mis le code dans un module pour l'instant, ne sachant où l'insérer.

Où est mon erreur? Que dois-je faire?

Mes tables sont en relation (Date_formation >>> Lundi_approb_rel), est-ce correct? (ou superflu?)
0
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   40 > ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention  
 
Ha, ha, ha!!!!
C'est de moi que je ris!
Je viens de comprendre... c'est le code SQL à mettre en création de requête, mode d'affichage SQL!
Je pensais que c'était une macro!!!! Grand dieu!

Oh, la, la!

Merci!!!!!!!! :) :D :) (et petit bonhomme gêné, je ne sais pas comment!)
0