Bonjour à tous!
Je viens vers vous pour aborder une question de méthode.
Je suis en train d'écrire un petit soft qui:
1/ recense les objets d'une base:
. Tables
. Requêtes
. Formulaires
. Etats
2/ Enregistre leurs propriétés dans une table avec une valeur d'origine et une valeur de modification.
3/ Met à jour les valeurs en mode traitement par lots des valeurs de propriétés par celles modifiées. Exemple: mettre à jour les couleurs de fond de toutes les étiquettes sélectionnées de tous les formulaires sélectionnés de fond transparent à bleu ciel (backStyle et backColor).
Pour les tables et requêtes, no problemo, il suffit de parcourir TableDefs et QueryDefs.
Çà se complique pour les formulaires et états: je n'ai pas trouvé d'autre solution que de d'ouvrir les objets de MSysObjects avec un type = -32768 (form) ou Type=-32764 (report) en mode acDesign et hidden, de parcourir leur collection de contrôles et pour chaque contrôle de parcourir sa collection de properties pour les enregistrer.
Çà tourne! Mais c'est Hyyypeeeer long! (8H pour les 160 formulaires d'une appli!)
J'ai un peu optimisé le bazar en excluant certains types de contrôles et de propriétés, mais çà reste très très long à l'exécution.
J'imagine qu'il doit y avoir une autre méthode: auriez-vous une idée ? (mes pauvres neurones sont à bout !)
Merci d'avance !
Partager