PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → ou est l'erreur?
ou est l'erreur?
Débuté par atrioux, 21 déc. 2004 11:43 - 7 réponses
Posté le 21 décembre 2004 - 11:43
parcoursfiltré est une chaine

parcoursfiltré=HFiltre(ABSENCE,ID_PERSONNEL,GROUPES.ID_PERSONNEL,GROUPES.ID_PERSONNEL,"date_debut<="+groupes.id_jour+"
et "+groupes.id_jour+"<=date_fin")
SI parcoursfiltré="ID_PERSONNEL"
HLitPremier(ABSENCE,ID_PERSONNEL)
SI PAS HTrouve()
ABSENCE.DATE_DEBUT=GROUPES.ID_JOUR
ABSENCE.DATE_FIN=GROUPES.ID_JOUR
ABSENCE.ID_PERSONNEL=GROUPES.ID_PERSONNEL
ABSENCE.ID_MOTIF=Val(ExtraitChaîne(ComboMotifAM[ComboMotifAM],2))
HAjoute(ABSENCE)
FIN
FIN

Le probleme c'est que mon filtre ne fonctionne pas et j'ajoute toujours le
meme enregistrement
ma condition est la suivante :
"date_debut<="+groupes.id_jour+" et "+groupes.id_jour+"<=date_fin"
car celle ci me renvoit une erreur sur le signe <=
"date_debut<="+groupes.id_jour+"<=date_fin")

j'ai tenté un truc tout simple du style :
"date_debut="groupes.id_jour
mais probleme identique
Posté le 21 décembre 2004 - 12:42
Date est une chaîne. Dans un filtre, il faut placer les chaînes entre simples quotes:
"Date_Debut>='" + ... "' et Date_Fin<='"+...+"'"
Je ne sais pas si on voit les simples quotes mais ils sont placés avant les " de fin de chaîne...
Posté le 21 décembre 2004 - 12:49
Il ne marche pas car tu as oublie de mettre des apostrophes dans les conditions: '

C'est tout

Bon dev.
Posté le 21 décembre 2004 - 12:55
Salut,

Ton filtre ne fonctionne pas avec :
"date_debut<="+groupes.id_jour+" et "+groupes.id_jour+"<=date_fin"
Et si tu met :
"date_debut<='"+groupes.id_jour+"' et '"+groupes.id_jour+"'<=date_fin" ?

Soit, mettre la valeur de groupes.id_jour entre cotes.

J'ai pas testé mais c'est une idée...

Stephan
Posté le 21 décembre 2004 - 15:10
Merci pour vos suggestions

mais je n'arrive toujours pas

avec "date_debut <= "'+GROUPES.ID_JOUR+'" et date_fin >= "'+GROUPES.ID_JOUR'
, j'ai l'erreur de syntaxe sur le mot '

avec "date_debut <= "+"'groupes.id_jour'"+" et date_fin >=
"+"'groupes.id_jour'", ca ne retourne pas d'erreur mais le filtre n'est pas
respecte

il me renvoit toujours "id_personnel" au lieu de "" et ma table est bien
vide



"Arnaud TRIOUX" <atrioux@horloges-huchez.fr> a écrit dans le message de
news: 41c7e744@news.pcsoft.fr...

parcoursfiltré est une chaine

parcoursfiltré=HFiltre(ABSENCE,ID_PERSONNEL,GROUPES.ID_PERSONNEL,GROUPES.ID_PERSONNEL,"date_debut<="+groupes.id_jour+"
et "+groupes.id_jour+"<=date_fin")
SI parcoursfiltré="ID_PERSONNEL"
HLitPremier(ABSENCE,ID_PERSONNEL)
SI PAS HTrouve()
ABSENCE.DATE_DEBUT=GROUPES.ID_JOUR
ABSENCE.DATE_FIN=GROUPES.ID_JOUR
ABSENCE.ID_PERSONNEL=GROUPES.ID_PERSONNEL
ABSENCE.ID_MOTIF=Val(ExtraitChaîne(ComboMotifAM[ComboMotifAM],2))
HAjoute(ABSENCE)
FIN
FIN

Le probleme c'est que mon filtre ne fonctionne pas et j'ajoute toujours le
meme enregistrement
ma condition est la suivante :
"date_debut<="+groupes.id_jour+" et "+groupes.id_jour+"<=date_fin"
car celle ci me renvoit une erreur sur le signe <=
"date_debut<="+groupes.id_jour+"<=date_fin")

j'ai tenté un truc tout simple du style :
"date_debut="groupes.id_jour
mais probleme identique

Posté le 21 décembre 2004 - 16:53
Re,

Les simples cotes (') doivent être à l'intérieur des doubles cotes (") !

Fais un copier/coller de la ligne suivante :

"date_debut<='"+groupes.id_jour+"' et '"+groupes.id_jour+"'<=date_fin"


Regerde bien ou sont les différentes cotes...

Stephan
Posté le 21 décembre 2004 - 17:04
Deux remarques:
1. Les simples quotes doivent être à l'intérieur des doubles quotes:
"DateDébut>='"+DateRepèreDébut+...
2. Les signes sont inversés: DateDébut doit être >= et DateFin doit être <=
Posté le 28 décembre 2004 - 20:45
Bonjour,

Vous devriez essayer la fonction ChaineConstruit

sCond est une chaine

sCond = ChaîneConstruit("date_debut<= %1 et %2 <=date_fin", groupes.id_jour,...
groupes.id_jour)

Bon développement

A.Goes