PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Henregiste?
Henregiste?
Iniciado por Mylcko, 04,ago. 2020 13:34 - 12 respuestas
Miembro registrado
44 mensajes
Publicado el 04,agosto 2020 - 13:34
Bonjour,
J’ai fait un projet d’essai.
Une Analyse et deux fichiers simples sans liaison
L’un employeurs et l’autre employés.
Puis un rad, avec fiche saisie employeurs et fiche employés.
Aussi une table vision employeurs et table vision employés.
Pour le code validé pour écrire dans le fichier, le rad utilise Henregistre, ce qui me plaît bien puisque quand vais faire une modification Henregistre sera utilisé.
Et tout se passe bien.
Mais voilà, j’ai fait un copier-coller de la table employé dans la fenêtre fiche de saisie employé mais a la saisie d’un nouvel employé le précèdent est effacé, je suis don obligé de changer le code avec un Hajoute.
Pourquoi ? Je n’arrive pas à comprendre, si vous pouvez me guider ça serait gentil.
Merci d’avance :)


Miembro registrado
1.173 mensajes
Publicado el 04,agosto 2020 - 14:23
Bonjour
Vous devriez vérifiez les liaisons de la tables vers le fichier de données.
Ensuite, méfiez-vous des RAD car les champs sont empactés dans un super-champs (SC_xx)

--
Thierry TILLIER
Développeur Windev-Webdev
Formation Windev : https://coursdinfo.teachable.com/
Formation bureautique : https://coursdinfo.net
Miembro registrado
44 mensajes
Publicado el 04,agosto 2020 - 14:40
Bonjour,
C’est exact, c'était pour un essai, effectivement c'est un problème liaison.
Débutant je m'emmêle un peu les pinceaux.
Merci
Miembro registrado
2.682 mensajes
Publicado el 06,agosto 2020 - 06:47
A mon avis il manque surtout un HRAZ()

--
Cordialement,

Philippe SAINT-BERTIN
Publicado el 11,agosto 2020 - 12:58
Bonjour,
Non hraz ne donne rien , ce n’est pas grave je continue sur le projet réel avec Hajout()…
Et je vais voir les cours de Monsieur Thierry TILLIER , quoique avec les tutos de pcsoft , ce fût bien expliquer, mais à chaque nouveau formateur j'apprends toujours quelque chose .:)
Miembro registrado
44 mensajes
Publicado el 25,agosto 2020 - 15:03
je pense avoir résolu mon problème




Miembro registrado
4.363 mensajes
Publicado el 26,agosto 2020 - 09:51
Bonjour,
Même si GOTO est accepté, cette instruction est à éviter.
EcranVersFichier()
SI gbVarModif ALORS
HModifie(Employé)
SINON
HAjoute(Employé)
FIN
TableAffiche(TABLE_Employé)

Ça, c'était la première remarque, j'en ai profité pour factoriser un peu.
Deuxième remarque d'ordre général : plutôt que d'introduire une variable pour indiquer la modification, tu peux utiliser la propriété ..Modifié.
Le code devient :
EcranVersFichier()
SI Employé..Modifié ALORS
HModifie(Employé)
SINON
HAjoute(Employé)
FIN
TableAffiche(TABLE_Employé)


Enfin, et je crois que ton problème vient de là.
FichierVersEcran ne fonctionne pas sur un champ table, Il Faut utiliser TableEnregistre https://doc.pcsoft.fr/?3074008

--
Il y a peut être plus simple, mais, ça tourne
Publicado el 27,agosto 2020 - 12:54
Bonjour , Voroltinquo

Effectivement votre code est plus court et plus compréhensif et c'est un  peu ce que j'ai dû faire au début.
Donc j'ai ce que j’ai fait en commentaire et recopier le vôtre , ça fonctionne, mais il faudrait que je voie s’il ne faut que j'ajoute autre chose au code , car si je modifie c'est bon mais ensuite si je fais une nouvelle saisie il remplace la saisie qui a été modifiée dans la table par la nouvelle saisie .
Mais une question pourquoi il ne faut pas trop utiliser goto ?
Miembro registrado
44 mensajes
Publicado el 27,agosto 2020 - 14:00
voila ce que cela donne en modification.
mais d'abord il faut que le remplace
SI Employé..Modifié ALORS
par
SI table_Employé..Modifié ALORS

sinon il y a erreur sur Modifié
la ligne 2 n'a pas été modifié mais une nouvelle saisie







Miembro registrado
4.363 mensajes
Publicado el 27,agosto 2020 - 15:49
Avec un Hcocomilko a écrit :
s’il ne faut que j'ajoute autre chose au code , car si je modifie c'est bon mais ensuite si je fais une nouvelle saisie il remplace la saisie qui a été modifiée dans la table par la nouvelle saisie .
Mais une question pourquoi il ne faut pas trop utiliser goto ?

En ce qui concerne la première question, si la nouvelle saisie est faite sans passer par "Nouveau" (qui devrait comporter un HRAZ(), Windev considère qu'on est en train de modifier l'enregistrement en cours
En ce qui concerne le GOTO, c'est déjà pour une question de lecture, lorqe l'on débogue, il faut déjà essayer de le retrouver .... alors qu'avec le SI ALORS SINON, on peut voir directement les traitements.

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
44 mensajes
Publicado el 27,agosto 2020 - 16:11
avec le code ci dessous ça fonctionne a la perfection merci



EcranVersFichier()
SI FEN_fiche_employé..Modifié ALORS

HModifie(Employé)


SINON
HAjoute(Employé)
FIN
TableAffiche(TABLE_Employé)
Miembro registrado
44 mensajes
Publicado el 28,agosto 2020 - 13:27
Bonjour,

Je ne savais pas qu'il était interdit de produire des vidéos (exemples de développement).
Peut-être il y avait des publicités , mais j'ai visionné il n'y en avait pas.
Maintenant je sais à quoi m’en tenir dans mes choix futurs.
Je quitte ce forum et remercie touts ceux qui m'ont aidé.
Miembro registrado
44 mensajes
Publicado el 28,agosto 2020 - 16:01
bonjour,

Je voudrais présenter mes excuses , à toute l'équipe de pcsoft et de développeurs qui ont gentiment voulu m'aider.
pcsoft m'a téléphoné et m'a expliqué la raison du retrait ,c' était un problème de réglage sur YouTube. Pour le prochain poste si vidéos il y a encore, je ferai ce qu’il faut faire. Merci pour indulgence.
Pour ce poste il n'est pas encore fermé, je travaille dessus le code qui m'a été transmis et je vous donne le résultat.
a bientôt