JOURS FERIES ET VACANCES SOUS WINDEV9

Résolu/Fermé
LeCoNf|dEnT Messages postés 2 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 27 novembre 2008 - 27 nov. 2008 à 11:50
LeCoNf|dEnT Messages postés 2 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 27 novembre 2008 - 27 nov. 2008 à 15:13
Bonjour tout le monde !

Tout d'abord je ne sais pas si je suis dans le bon endroit pour poser ma question mais j'essaye quand même de la poser ici avec un grand souhait que quelqu'un puisse répondre à ma question "perdue" parce que je suis vraiment perdu..

Voilà je suis débutant en programmation et SGBD.

Dans le cadre d'un projet de réalisation d'une application qui doit gérer les horaires et les jours de travail en prenant en compte les jours fériés et vacances.

J'ai deux tables :
- JoursFériésEtVacance(IDJourFérié,DateDebutJFV,DateFinJFV,NbrDeJours,Occasion)
- Activité(IDActivité, LibActivité, DateDebAct, DateFinAct, HeureDebAct, HeureFinAct, ThmeAct)

Mon problème consiste à vouloir vérifier si les DateDebAct et DateFinAct appartiennent à un intervalle de jours fériés avant de les valider..

J'ai créé une requête qui sélectionne toutes les DateDebutJFV et DateFinJFV.

Comment faire pour utiliser cette requête pour vérifier si une DateDebAct ou DateFinAct est un jour férié ou appartient à une période de vacances ?

P.S: J'utilise Windev9 avec le W-Langage.

Merci pour vos réponses…

1 réponse

LeCoNf|dEnT Messages postés 2 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 27 novembre 2008
27 nov. 2008 à 15:13
Voilà je viens juste de terminer le code de ma solution (à laquelle je n'ai pas cessé de penser depuis que j'ai posté le problème loll)

Alors, j'ai créé une procédure globale (Kouglouf > Procédures globales de MonProjet > Bouton droit > Nouvelle procédure globale :

PROCEDURE VérificationSiJourFériéOuVacance(NomDuChamp est une chaîne)

// Déclaration d'une variable locale de comparaison :
Jr est une chaîne = DateVersJourEnLettre(NomDuChamp)

// Vérifier si la date correspond à un samedi ou un dimanche :
SI Jr="Samedi" OU Jr="Dimanche" ALORS
	// Afficher le message : Vous avez sélectionné un [Samedi | Dimanche] !!
	Erreur("Vous avez sélectionné un "+Jr+" !!")
FIN

// Vérifier si la date choisie fait partie des jours fériés préalablement saisis dans le fichier JrsFériésEtVacances
// ou dans une période de vacances :
//-------------------------------------------------
// 1- Lecture du premier enregistrement du fichier JrsFériésEtVacances :

HLitPremier(JoursFériésEtVacances,DatDebJFV)

// 2- Boucle de parcours des autres lignes :

TANTQUE HEnDehors(JoursFériésEtVacances) = Faux  // Tant qu'il y a encore une ligne à lire
	SI NomDuChamp >= JrsFériésEtVacances.DatDebJFV ET NomDuChamp <= JrsFériésEtVacances.DatFinJFV ALORS
		Erreur("Vous avez sélectionné un jour férié ou de vacances")
		SORTIR
	SINON
		HLitSuivant(JrsFériésEtVacances,DatDebJFV)
	FIN
FIN
// Fin du code.


En fin, pour pouvoir utiliser la procédure que je viens de créer, :
- Dans le code de la combo de vérification des dates (que j'ai nommé par exemple : Combo_DateAct de type Date) ,
-----> Dans la partie : "Sélection d'une ligne de Combo_DateAct" on appelle la procédure en lui donnant le nom du champ comme paramètre comme suit : VérificationSiJourFériéOuVacance("Combo_DateAct")

Et voilà!! Le tour est joué ;-)


J'espère que mon expérience servira à d'autres personnes...

Cordialement...
0