PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Comment supprimer plusieurs RDV d'un agenda
Comment supprimer plusieurs RDV d'un agenda
Iniciado por Jean Turcotte, 26,oct. 2019 00:56 - 3 respuestas
Miembro registrado
1.395 mensajes
Publicado el 26,octubre 2019 - 00:56
Bonjour,
Je remplis mon agenda manuellement et donc, pas de liaison directe entre le champs agenda et la BD. J'ai configuré une option menu pour pouvoir effacer tout les RDV d'une semaine;




Voici mon code;
tabRDV_Perso est un tableau de RendezVous
duDuréeRDV est une Durée
dDateDébut est une Date
dDateFin est une Date
SI AGD_Disponibilité.Mode() = agzMois ALORS
dDateDébut = PremierJourDuMois(LIB_Mois)
dDateFin = DernierJourDuMois(LIB_Mois)
SINON
dDateDébut = AgendaPosition(AGD_Disponibilité,agDateDébut)
dDateFin = AgendaPosition(AGD_Disponibilité,agDateFin)
FIN
tabRDV_Perso = AgendaListeRendezVous(AGD_Disponibilité,dDateDébut-1j,dDateFin)

SI HExécuteRequête(REQ_RDV_PAR_PERSO, hRequêteDéfaut,SAI_Numero_Employé) = Vrai ALORS
SI HLitPremier(REQ_RDV_PAR_PERSO) ALORS
nQuantité est un entier = HNbEnr(REQ_RDV_PAR_PERSO)
SI nQuantité > 0 ALORS
// Sélection de tous les RDV dont la date est comprise entre dateDébut et DateFin
MaCléParcours est une chaîne
MaCléParcours = HFiltre(REQ_RDV_PAR_PERSO, DateDebut, dDateDébut -1j, dDateFin)
HLitPremier(REQ_RDV_PAR_PERSO, MaCléParcours)
TANTQUE PAS HEnDehors()
SI HLitRecherche(CONTACT_PERSO_DISPONIBILITE,ID_DISPONIBILITE,REQ_RDV_PAR_PERSO.ID_DISPONIBILITE) = Vrai ALORS
HSupprime(CONTACT_PERSO_DISPONIBILITE)
FIN
HLitSuivant(REQ_RDV_PAR_PERSO, MaCléParcours)
FIN
// Désactive le filtre
HDésactiveFiltre(REQ_RDV_PAR_PERSO)
FIN
FIN
FIN

Ma variable tabRDV_Perso contient tous les RDV a supprimer mais je ne suis pas capable d'extirper leur Indice.

Merci de m'aider.

--
Jean Turcotte
WX 24
Android 8.0 sur Galaxy S8
Laptop Lenovo I7 12GB Ram
Miembro registrado
1.395 mensajes
Publicado el 26,octubre 2019 - 01:58
J'ai oublié de mentionner qu'avec mon code, j'efface les données de la BD mais je ne suis pas capable de rafraîchir l'agenda de tel sorte que les RDV sont supprimés physiquement de la BD mais reste affichées sur l'agenda. si j'utilise AgendaAffiche ou Agendaposition(dDateDépart), les RDV restent présents.La seule façon de les faire disparaître est de changer la date de l'agenda.

C'est pour cette raison que j'aimerais avoir les indices des RDV pour pouvoir les effacer 1 à un de la fenêtre.

--
Jean Turcotte
WX 24
Android 8.0 sur Galaxy S8
Laptop Lenovo I7 12GB Ram
Miembro registrado
2.682 mensajes
Publicado el 26,octubre 2019 - 11:03
Bonjour,

Base le champ agenda sur la variable de type tableau. A la suppression, tu supprimes en BDD et dans le tableau. Ensuite tu rafraîchis le champ avec AgendaAffiche() et le tour est joué.

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
4.361 mensajes
Publicado el 26,octubre 2019 - 11:35
Un petit complément, avec un tableau de classe ou de structure, ce sera encore plus simple (via les fonctions FichierVersTableau et assimilées)

--
Il y a peut être plus simple, mais, ça tourne