Bonjour à tous.
La propriété ..modifié nous indique si quelque chose a été modifié.
Mais comment faire pour savoir ce qui a été modifié sans tester tous les champs un à un ?
Merci de votre aide !
Bonjour à tous.
La propriété ..modifié nous indique si quelque chose a été modifié.
Mais comment faire pour savoir ce qui a été modifié sans tester tous les champs un à un ?
Merci de votre aide !
Bonjour,
Tu peux faire une boucle avec EnumereChamp(), puis utiliser les indirections pour tester tous les champs d'une fenêtre.
Tatayo.
Merci Tatayo !
Voici ce que j'ai fait:
Et la procédure:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 i est entier = 1 sChampmodifié est une chaîne sNomChamp est une chaîne sNomChamp = EnumèreChamp(FEN_Fiche_Immo, i) TANTQUE sNomChamp<>"" TestChampModif(sNomChamp, sChampmodifié) i++ sNomChamp = EnumèreChamp(FEN_Fiche_Immo, i) FIN
Je ne connaissais pas les indirections !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 PROCEDURE TestChampModif(Nom_Champ, sChampsModifiés) SI {Nom_Champ}..Modifié=Vrai ALORS sChampsModifiés+=[" / "] +{Nom_Champ}..Libellé FIN RENVOYER sChampsModifiés
C'était bien comme cela que tu voyais les choses ?
Tout à fait.
Par contre je n'aime pas trop les procédures qui changent la valeur des paramètres.
J'aurai plutôt fait ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 i est entier = 1 sChampmodifié est une chaîne sNomChamp est une chaîne sNomChamp = EnumèreChamp(FEN_Fiche_Immo, i) TANTQUE sNomChamp<>"" sChampmodifié += ["/"] + TestChampModif(sNomChamp) i++ sNomChamp = EnumèreChamp(FEN_Fiche_Immo, i) FINTatayo.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 PROCEDURE TestChampModif(Nom_Champ) sChampsModifiés est une chaine SI {Nom_Champ}..Modifié=Vrai ALORS sChampsModifiés = {Nom_Champ}..Libellé FIN RENVOYER sChampsModifiés
Merci Tatayo, j'ai fait la modification que tu as préconisée.
Par contre Michel, le indchamp c'est quoi et ça sert à quoi ?
C'est une indication pour l'indirection qui permet d'optimiser la recherche de l'objet (en fonction de son type)
Je te suggère d'ajouter à ton bouton de modification une routine créant un fichier texte, ou y ajoutant :
date, heure, utilisateur, rubriques modifiées.
Tu peux ajouter Valeur d'origine d'après Mon_fichier.Ma_rubrique
valeur modifiée d'après Mon_champ_lié
à condition bien sûr que tu récupères le contenu de la rubrique avant d'écrire ton EcranVersFichier.
Pour les principes de mise en œuvre, comme Tatayo te l'a décrit.
As ever in a coding world,
Jacques De Schryver
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager