PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → afficher les dates visés de la semaine
afficher les dates visés de la semaine
Débuté par fhougas, 13 déc. 2005 16:38 - 2 réponses
Posté le 13 décembre 2005 - 16:38
Bonjour,

j'ai une applis en wd9 de gestion immo, un des fichiers de l'analyse contient

un champs date de signature, ce champs n'est renseigné que lorsque le client

a signé.

à quoi ressemblerait une requete qui m'afficherait les dates signées de la semaine (en cour ou derniere)..

je pense que c'est avec datesys mais je ne vois pas comment formuler le code.

Merci d'avance .
Posté le 13 décembre 2005 - 18:21
franck.h a formulé la demande :

Bonjour,

j'ai une applis en wd9 de gestion immo, un des fichiers de l'analyse contient

un champs date de signature, ce champs n'est renseigné que lorsque le client

a signé.

à quoi ressemblerait une requete qui m'afficherait les dates signées de la
semaine (en cour ou derniere)..

je pense que c'est avec datesys mais je ne vois pas comment formuler le code.

Merci d'avance .


voir la propriété Jour et la commande EntierVersJour
exemple de code
d8 est une date au format AAAAMMJJ
SELON pc_TypeTest[[2]]

CAS "S" // est-on la semaine suivante ?
dPivotDeb = d8
dPivotDeb..Jour += 7
nNumJour = EntierVersJour(dPivotDeb)
dPivotDeb..Jour -= (nNumJour-1)
dPivotFin = dPivotDeb
dPivotFin..Jour += 6
nNumTest = 308

CAS "P" // on est la semaine précédente
dPivotDeb = d8
dPivotDeb..Jour -= 7
nNumJour = EntierVersJour(dPivotDeb)
dPivotDeb..Jour -= (nNumJour-1)
dPivotFin = dPivotDeb
dPivotFin..Jour += 6
nNumTest = 309

CAS "C" // est-on dans la semaine à cheval ?
dPivotDeb = d8
dPivotDeb..Jour -= 3
nNumJour = EntierVersJour(dPivotDeb)
dPivotFin = dPivotDeb
dPivotFin..Jour += 6
nNumTest = 310

CAS "F" // est-on dans la semaine flottante suivante ?
dPivotDeb = d8
dPivotFin = dPivotDeb
dPivotFin..Jour += 6
nNumTest = 311

CAS "f" // est-on dans la semaine flottante qui précède ?
dPivotDeb = d8
dPivotFin = dPivotDeb
dPivotDeb..Jour -= 6
nNumTest = 312

FIN

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Posté le 14 décembre 2005 - 04:11
Bonjour,

Je vous ai formulé ce code :

xDate est une Date = DateSys()
nSem est un entier sans signe sur 1 octet = DateVersNuméroDeSemaine(xDate)
DebSemDer,DebSem,FinSem,FinSemSui sont des Dates
x est un entier sans signe sur 1 octet
POUR x=1 A 8
SI DateVersNuméroDeSemaine(EntierVersDate(DateVersEntier(xDate)-x))<nSem ALORS
DebSem=EntierVersDate((DateVersEntier(xDate)-x)+1)
SORTIR
FIN
FIN
DebSemDer=EntierVersDate(DateVersEntier(DebSem)-7)
POUR x=1 A 8
SI DateVersNuméroDeSemaine(EntierVersDate(DateVersEntier(xDate)+x))>nSem ALORS
FinSem=EntierVersDate((DateVersEntier(xDate)+x)-1)
SORTIR
FIN
FIN
FinSemSui=EntierVersDate(DateVersEntier(FinSem)+7)
//---------------------------------info pour vérifier---------
Info(DateVersJourEnLettre(DebSemDer)+" "+DateVersChaîne(DebSemDer),...
DateVersJourEnLettre(DebSem)+" "+DateVersChaîne(DebSem),...
DateVersJourEnLettre(FinSem)+" "+DateVersChaîne(FinSem),...
DateVersJourEnLettre(FinSemSui)+" "+DateVersChaîne(FinSemSui))
//----------------------------------------

Puis faite soit une vue,une requette,ou simple recherche par condition pour par exemple remplir une table memoire.

Exemple :
Vuex est une source de donnees
hcreevue(Vuex,Ton_Fichier,"","","Date_signature>=' "+DebSem+...
" ' et Date_signature<=' "+FinSem+" ' ")
hlitpremier(Vuex)
tantque pas hendehors(Vuex)
tableajouteligne(Ma_table,Vuex.Datesignature,Vuex.blabla,....)
hlitsuivant(Vuex)
fin

msg si ça marche .

Bon Dev+

Ali Hindi : AliDev7@yahoo.fr