FOROS PROFESIONALES
WINDEV
,
WEBDEV
y
WINDEV Mobile
Inicio
|
Mensajes recientes
|
Conéctese...
|
Desconectar
|
Español
Inicio
→
WEBDEV (versiones precedentes)
→
WB23 - Requête contrôle saisie heures
WB23 - Requête contrôle saisie heures
Iniciado por Multipass, 16,mar. 2021 00:39 - 4 respuestas
Conéctese…
Multipass
#1
Miembro registrado
125 mensajes
Popularité : +5 (5 votes)
Publicado el 16,marzo 2021 - 00:39
Bonjour à tous,
Voici une situation que je ne comprend pas alors Merci d'avance de prendre un peu de votre temps pour m'aider à trouver une solution...
J'ai une procédure qui contrôle la saisie d'heures (début/fin) pour m'assurer qu'il n'existe pas de conflit entre 2 saisies. Typiquement, je passe par une REQ qui filtre de la façon suivante :
AND
(
(
HEURES
.
DEBUT
< {
pDEBUT
}
AND
HEURES
.
FIN
> {
pFIN
}
)
OR
(
HEURES
.
DEBUT
> {
pDEBUT
}
AND
HEURES
.
DEBUT
< {
pFIN
}
)
OR
(
HEURES
.
FIN
> {
pDEBUT
}
AND
HEURES
.
_FIN
< {
pFIN
}
)
)
Le code de la REQ utilise des opérateurs "strictement inférieur" et "strictement supérieur" pour permettre la saisie de créneaux du type 08:00-09:00 puis 09:00-10:00... sans blocage sur le fait que l'heure de fin de la saisie n°1 soit égale à l'heure de début de la saisie n°2 et tout est ok si l'utilisateur procède de cette manière là.
Par contre, s'il fait l'inverse : 09:00-10:00 puis 08:00-09:00, la REQ de contrôle remonte la saisie 1, ce qui déclenche une erreur de la procédure.
En fait c'est le 2ème bloc qui pose problème :
(
HEURES
.
DEBUT
> {
pDEBUT
}
AND
HEURES
.
DEBUT
< {
pFIN
}
)
Le résultat "considère" que l'heure de début de la saisie 1 (09:00-10:00) est strictement supérieure à l'heure de début de la saisie 2 (08:00-09:00) ce qui est vrai. Mais du coup il considère aussi que l'heure de début de la saisie 1 (09:00) est strictement inférieure à l'heure de fin de la saisie 2 (09:00 aussi). Et c'est là que je ne comprends pas...
Le résultat ne prend pas en compte les 2 conditions ou j'ai visiblement besoin de changer de lunettes ? Avez-vous déjà rencontré ça ? et/ou une piste pour trouver un contournement ?
A+
Informar
0
0
stef1811
#2
Miembro registrado
473 mensajes
Popularité : +20 (20 votes)
Publicado el 27,marzo 2021 - 16:15
La requete que je ferais pour tester si le créneau est pris, ces 2 critères sont suffisants
SELECT
HEURES
.
DEBUT
AS
DEBUT
,
HEURES
.
_FIN
AS
_FIN
FROM
HEURES
WHERE
HEURES
.
DEBUT
< {
pFIN
}
AND
HEURES
.
_FIN
> {
pDEBUT
}
et le code pour tester
REQ_
heures.pDEBUT
=
SAI_
Debut
REQ_
heures.pFIN
=
SAI_
Fin
SI
HExécuteRequête
(
REQ_
heures
)
ALORS
SI
HLitPremier
(
REQ_
heures
)
ALORS
Info
(
"Créneau pris"
)
SINON
HRAZ
(
HEURES
)
HEURES.DEBUT
=
SAI_
Debut
HEURES
.
_FIN
=
SAI_
Fin
HAjoute
(
HEURES
)
FIN
FIN
Informar
0
0
Multipass
#3
Miembro registrado
125 mensajes
Popularité : +5 (5 votes)
Publicado el 29,marzo 2021 - 00:05
Bonjour stef1811,
Effectivement 2 conditions semblent suffisantes pour effectuer le contrôle, Merci.
Pour autant, je rencontre toujours la même situation :
- tout va bien si saisie 1 = 08:00-09:00 puis saisie 2 = 09:00-10:00.
- mais si on fait l'inverse : 09:00-10:00 puis 08:00-09:00, la REQ de contrôle remonte la saisie 1...
T'avais fait des tests dans les 2 sens ?
A+
Informar
0
0
stef1811
#4
Miembro registrado
473 mensajes
Popularité : +20 (20 votes)
Publicado el 29,marzo 2021 - 19:05
Oui mes tests fonctionnent dans les 2 sens
Informar
0
0
Multipass
#5
Miembro registrado
125 mensajes
Popularité : +5 (5 votes)
Publicado el 29,marzo 2021 - 22:26
Ok Merci pour le retour.
A+
Informar
0
0
→ Volver a WEBDEV (versiones precedentes)
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (versiones precedentes)
WEBDEV (versiones precedentes)
WINDEV Mobile (versiones precedentes)
Reports & Queries
Irrelevante
Herramientas
Français
English
Español
Portuguesa
Fermer cette fenêtre
Búsqueda Tipo
Sólo temas
Todos los mensajes
Periodo Buscar
Cualquier fecha
Última hora
Última 24 horas
Última semana
Último mes
Último año
Cancelar
Vista previa del mensaje
Añadiendo una imagen
Importar una imagen desde una URL
Enviar una imagen desde un archivo de su disco
Arrastrar un archivo o click en "Examinar..."
o
Cancelar
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Texto