Résolu [ACCESS] date access "automatiser"

  • Auteur de la discussion ambroisine
  • Date de début

ambroisine

Nouveau membre
Bonjour,
J'aurai grandement besoin de votre aide! Je crée un logiciel sur access afin de gérer des dates de formation. Or chaque formation a une periode de recyclage (délai entre deux mêmes formations).

J'ai une table FORMATION qui comprend les champs suivants:
N° automatique
Formation (nom)

liée à une table RECYCLAGE comprenant:
N° auto
Date de la formation
Date du dernier recyclage
Date du prochain recyclage
Formation#
Matricule#

J'ai ensuite divers formulaires qui font apparaitre ces données.
Et j'aimerais que la date du prochain recyclage soit automatiquement calculée en fonction de la date du dernier recyclage et d'un délai (exemple 3 ans). Seulement le délai change en fonction des formations et je n'arrive pas vraiment à m'en sortir.

Merci d'avance de votre aide!
 

ambroisine

Nouveau membre
Bonjour,
J'aurai grandement besoin de votre aide! Je crée un logiciel sur access afin de gérer des dates de formation. Or chaque formation a une periode de recyclage (délai entre deux mêmes formations).

J'ai une table FORMATION qui comprend les champs suivants:
N° automatique
Formation (nom)

liée à une table RECYCLAGE comprenant:
N° auto
Date de la formation
Date du dernier recyclage
Date du prochain recyclage
Formation#
Matricule#

J'ai ensuite divers formulaires qui font apparaitre ces données.
Et j'aimerais que la date du prochain recyclage soit automatiquement calculée en fonction de la date du dernier recyclage et d'un délai (exemple 3 ans). Seulement le délai change en fonction des formations et je n'arrive pas vraiment à m'en sortir.

Merci d'avance de votre aide!
 

chonos

Helper
Salut,

Question Pourquoi en access alors les soft de planning sont plus adapter ? non ?
a+
 

zeb

Modérateur
Meilleure réponse
Salut,

Proposition de MPD :

FORMATION____________
id_formation
nom_formation
delai_prochain_recyclage
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

RECYCLAGE____________
id_recyclage
date_formation
date_dernier_recyclage
id_formation#
id_matricule# (<-- ?)
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Dans ce cas, le délai dépend bien de la formation, et la date du prochain recyclage devient un savant calcul :
Code:
SELECT 
  nom_formation,
  date_dernier_recyclage + delai_prochain_recyclage As date_prochain_recyclage 
FROM 
  formation JOJN recyclage ON formation.id_formation = recyclage.id_formation
 

ambroisine

Nouveau membre
Bonjour,
Merci beaucoup de votre réponse et en effet entre temps j'ai rajouté dans ma table le délai. Ensuite j'ai fait une requête et dans un champ "prochain recyclage" j'ai entré la formule: [Date du dernier recyclage]+[Délai]

Cela marche très bien puisqu'ensuite je base mes formulaires sur le champ de cette requête. Pensez-vous que cela suffit ou je devrais me servir de votre code?

Par contre, j'ai un nouveau soucis. (je suis vraiment mauvaise en code et obligée de travailler sur access puisque en stage).

J'aimerais un Etat qui récapitule par formation les dates inférieures ou égales à l'année en cours.
J'ai refait une requête:
Avec
Formation______ Matricule(numero de l'employé)____ Prochain recyclage_____ Identifiant

Dans le champ ProchainRec: VraiFaux([Date du prochain recyclage]<SérieDate(Année(Date())+1;1;0);[Date du prochain recyclage];Null)

Dans le champ identifiant (de l'employé, ça faisait boucle si je mettais matricule): Identifiant: VraiFaux([Date du prochain recyclage]<SérieDate(Année(Date())+1;1;0);[Matricule];Null)

Cela marche mais lorsque je fais l'etat basée sur la requête, j'ai des lignes blanches à la place des dates et matricules"Null", ce qui me donne un Etat de 5 pages dont plus d'une page blanche. Je ne sais pas comment supprimer ces dates "Null" de l'etat ou de la requête?

Merci beaucoup pour vos conseils!
 

zeb

Modérateur
Cela marche très bien puisqu'ensuite je base mes formulaires sur le champ de cette requête. Pensez-vous que cela suffit ou je devrais me servir de votre code?
Non. Si ça marche, ne touche à rien. Tu publies tes questions dans le forum programmation, tu as donc des réponses de programmeur. Mais ce que tu développes n'est pas vraiment de la programmation, mais plutôt de l'utilisation d'Access.

Identifiant: VraiFaux([Date du prochain recyclage]<SérieDate(Année(Date())+1;1;0);[Matricule];Null)
Rhooooo!
Prends le temps d'étudier le SQL :o

Ta requête renvoie tout, en mettant des blancs (Null) si la date n'est pas bonne. Ce n'est pas la bonne manière.
Utilise une clause WHERE (Je ne sais pas comment faire en Access) pour "filtrer" ceux dont la date est correcte.
 

ambroisine

Nouveau membre
Merci encore pour la reponse, c'est gentil, mais justement c'est le temps qui me manque.
J'ai mis un critère Est Pas Null et ça marche, j'ai juste à faire deux requêtes! Si je rencontre un nouveau problème, je chercherai un forum plus approprié! Merci.
Bonne journée
 

zeb

Modérateur
Euh, c'est pas le forum qui pose problème ;) C'est moi qui n'ai plus touché à Access depuis trop longtemps.

Veux-tu que je déplace ton topic dans la partie Windows/Développement ?
 

ambroisine

Nouveau membre
Non merci,
C'est vraiment gentil. J'espère surtout ne plus rencontrer de problème. Pour l'instant tout est résolu et marche correctement! ;)
 

zeb

Modérateur
Cool :sol:

Si tu n'attends plus d'aide sur le sujet, choisis une réponse comme étant celle qui t'a le plus aidé. Ça passera le topic en [Résolu].
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 845
Membres
1 586 373
Dernier membre
https://forum.tomshardwar
Partager cette page
Haut