Numéro d'article: 290656 - Dernière mise à jour: jeudi 23 novembre 2006 - Version: 3.2 Utilisation de champs définis par l'utilisateur dans des solutions Outlook 2002Ancien nº de publication de cet article : F290656
Pour vous procurer une version Microsoft Outlook 98 de cet article, reportez-vous à l'article 185050
(http://support.microsoft.com/kb/185050/
)
.
Pour vous procurer une version Microsoft Outlook 97 de cet article, reportez-vous à l'article 183352
(http://support.microsoft.com/kb/183352/
)
.
Pour vous procurer une version Microsoft Outlook 2000 de cet article, reportez-vous à l'article 201438
(http://support.microsoft.com/kb/201438/
)
.
SommaireRésumé
Cet article traite de sujets que les développeurs de solutions doivent prendre en considération lorsqu'ils planifient, mettent en ?uvre et déploient une solution à l'aide des formulaires personnalisés et des champs définis par l'utilisateur Outlook. Contrairement à la plupart des autres logiciels associés à une base de données, Outlook a la capacité de stocker différents jeux de champs définis par l'utilisateur dans plusieurs éléments d'un dossier. Bien que cela signifie que les éléments d'un dossier sont de très souples « conteneurs » pour le stockage des données, cela implique également que les développeurs doivent être conscients des conséquences d'une telle souplesse sur une solution basée sur Outlook. Plus d'informationsPrésentation des champs standard et définis par l'utilisateur Microsoft OutlookDans un programme de base de données comme Microsoft Access, les champs sont définis au « niveau de la table », ce qui signifie que lorsque vous ajoutez un champ à une table de données, ce champ existe pour l'ensemble des enregistrements de la table. Les éléments Outlook ressemblent à des enregistrements d'une base de données, tandis que les dossiers Outlook sont conceptuellement équivalents à une table ou à une base de données bidimensionnelle. Cette analogie avec une base de données s'arrête lorsque vous considérez la façon dont Outlook et Microsoft Exchange mettent en ?uvre la notion de champs ou de propriétés.Dans Exchange, les éléments d'un dossier peuvent utiliser n'importe quel jeu de champs. En effet, il revient à l'application de déterminer le « schéma de champs » qui est associé aux éléments d'un dossier. Outlook dispose de schémas de champs distincts pour tous les éléments prédéfinis, tels que les éléments Contacts, Rendez-vous, Tâches, etc. Chacun de ces éléments possède un jeu de champs standard spécifiques à ce type d'élément. Notez que certains champs sont présents dans plusieurs types d'éléments, tels que le champ Démarrer dans les entrées Rendez-vous et Journal, et que certains autres existent dans tous les éléments, comme Kilométrage et Informations de facturation. Outre les champs standard que Microsoft Outlook met à disposition pour chaque type d'élément, il autorise également la création de champs définis par l'utilisateur ou personnalisés pour le stockage d'informations supplémentaires associées à un élément. Bien que la finalité des champs définis par l'utilisateur et des champs standard soit la même, leur utilisation est généralement différente. La différence principale entre ces deux types de champs est que les champs standard sont toujours accessibles lorsque vous utilisez un type d'élément particulier, ce qui n'est pas toujours vrai dans le cas des champs définis par l'utilisateur. Ces derniers peuvent exister dans :
Cet article traite du comportement de Microsoft Outlook dans différents cas afin que vous puissiez localiser l'emplacement des champs, comprendre la façon dont Outlook les crée immédiatement et déterminer leur emplacement réel, ce qui vous permet d'évaluer l'impact des champs définis par l'utilisateur sur votre solution. Ajout de champs définis par l'utilisateurLorsque vous utilisez le Sélecteur de champs pour créer un champ dans une vue ou en mode création d'un formulaire, le champ est ajouté au dossier. Si vous êtes en mode création de formulaire et que vous faites glisser le champ sur le formulaire, ce champ est ajouté à l'élément et Outlook crée automatiquement un contrôle et lie le champ au contrôle.Si vous êtes en mode création de formulaire et cliquez avec le bouton droit sur un contrôle pour accéder à ses propriétés, vous pouvez créer un champ défini par l'utilisateur en cliquant sur le bouton Nouveau de l'onglet Valeur de la boîte de dialogue Propriétés. La création d'un champ par ce moyen se traduit par l'ajout du champ à la fois à l'élément et au dossier. Il est également possible d'introduire des champs dans une solution de dossier en copiant ou en déplaçant un élément d'un autre dossier dans le dossier de la solution. Vous pouvez également introduire des champs si vous les créez immédiatement par programmation ou dans le cadre d'une solution pour importer des éléments dans un dossier. Il est important de garder à l'esprit que certains scénarios n'autorisent pas l'existence de champs définis par l'utilisateur dans un ou plusieurs des trois emplacements, ce qui peut avoir des conséquences négatives sur une solution. Le tableau suivant résume le comportement de Microsoft Outlook lors de la création de champs définis par l'utilisateur. Action Champ ajouté à un ------ ----------------- Utilisation du bouton Nouveau du Sélecteur de champs dans une vue Dossier Bouton Nouveau du Sélecteur de champs en mode création de formulaire Dossier Déplacement d'un champ du Sélecteur de champs vers un formulaire Élément Utilisation du bouton Nouveau de la boîte de dialogue Propriétés Élément et dossier d'un contrôle lors de la liaison du contrôle à un champ Suppression de champs définis par l'utilisateurLe tableau suivant vous indique la procédure pour supprimer un champ qui existe dans les emplacements suivants :
Pour supprimer
un champ situé
dans un Procédure
---------- -------
Dossier Utilisez le Sélecteur de champs et définissez la liste pour qu'elle indique
« Champs définis par l'utilisateur dans <nom du dossier>. »
Élément Utilisez l'onglet Champs de l'élément.
Formulaire Créez un nouvel élément basé sur le formulaire personnalisé existant,
supprimez le champ à l'aide de l'onglet Champs du formulaire,
puis publiez à nouveau le formulaire.
Détermination de l'emplacement des champsLe tableau suivant vous indique l'emplacement d'un champ :
Pour vérifier la
présence de champs
dans un Procédure
------------- -------
Dossier Utilisez le Sélecteur de champs et définissez la liste pour qu'elle indique
« Champs définis par l'utilisateur dans <nom du dossier> »
Élément Utilisez l'onglet Champs de l'élément et définissez la liste pour qu'elle
indique « Champs définis par l'utilisateur dans cet élément ». Notez
que vous pouvez également afficher provisoirement cette page
du formulaire pendant le développement de la solution.
Formulaire Créez un élément basé sur le formulaire
personnalisé existant, puis vérifiez la page Champs du formulaire comme
précédemment.
Dysfonctionnements probablesVoici quelques-uns des problèmes que vous pouvez rencontrer quand les champs définis par l'utilisateur ne sont pas cohérents dans une solution basée sur un dossier.
Suggestions d'ordre généralÉvitez de créer des éléments tant que la solution n'est pas entièrement terminée.L'idéal est de créer un formulaire personnalisé qui contient tous les champs définis par l'utilisateur qui sont nécessaires à la solution. Après cela, vous pouvez publier le formulaire dans le dossier et tous les éléments qui sont créés dans le dossier sont basés sur le formulaire personnalisé et, par conséquent, héritent des champs définis par l'utilisateur. Ce scénario garantit l'existence de chaque champ défini par l'utilisateur dans tous les emplacements et, par conséquent, la cohérence de la solution.Si vous créez des éléments pour tester votre solution alors que vous la développez, vous devez les supprimer et en créer d'autres si vous ajoutez des champs définis par l'utilisateur au formulaire. Si vous devez ajouter des champs à une solution de dossier après avoir créé des éléments, veillez à ce que tous les éléments récupèrent bien les nouveaux champs qui leur ont été ajoutés. Vous pouvez effectuer cette opération par programmation (Item.UserProperties.Add) ou en affichant les éléments dans une vue de la table, en ajoutant le champ défini par l'utilisateur à la vue, en ajoutant temporairement une valeur au champ de sorte que Microsoft Outlook intègre immédiatement le champ dans l'élément, puis en supprimant les valeurs temporaires. Importation d'élémentsSi vous comptez importer des données dans un dossier sous la forme d'éléments, vous ne pouvez pas créer de champs définis par l'utilisateur dans les éléments à l'aide de l'utilitaire d'importation/exportation de Microsoft Outlook. Si vous vous servez de l'utilitaire pour importer les éléments, envisagez de créer une procédure qui ajoutera par programmation tous les champs définis par l'utilisateur à l'élément. Veillez également à créer une procédure qui va créer et importer par programmation la totalité des éléments. Pour plus d'informations sur l'importation par programmation des éléments, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.290658
(http://support.microsoft.com/kb/290658/
)
OL2002 : Comment faire pour importer par programme des éléments Outlook à partir d'Access
Ajout de champs à un élément uniquement s'ils contiennent une valeurSoyez conscient que selon les circonstances, vous pouvez observer des comportements différents suivant que le champ contient ou non une valeur. Par exemple, si vous ouvrez un nouvel élément contact et créez un champ défini par l'utilisateur sur la page Champs du formulaire, le champ sera ajouté au dossier, mais n'apparaîtra pas dans la liste sous « Champs définis par l'utilisateur dans cet élément » tant qu'une valeur n'a pas été entrée dans ce champ. En d'autres termes, lorsqu'il s'agit de scénarios où les champs existent dans un dossier mais pas dans un élément, Outlook ajoute automatiquement le champ à un élément, si une valeur est attribuée au champ. Cela peut aussi communément se produire lorsque vous utilisez la fonction « Modification directe » pour la saisie de données dans une vue de table.Copie ou déplacement d'élémentsSi vous copiez ou déplacez des éléments d'un dossier vers un autre, les champs définis par l'utilisateur des éléments seront déplacés, mais ils ne seront pas associés au nouveau dossier de destination. Selon la nature de votre projet, vous pouvez copier le dossier complet au lieu de déplacer chaque élément individuellement ou utiliser le Sélecteur de champs pour redéfinir des champs définis par l'utilisateur dans le nouveau dossier.Considérations relatives à la programmationMéthodes Find et RestrictVous pouvez utiliser la méthode Find ou Restrict du modèle d'objet Outlook pour rechercher tous les éléments d'un dossier qui correspondent à certains critères. Par exemple, vous souhaitez récupérer tous les éléments où le champ DateCommande (champ défini par l'utilisateur) indique une date de l'année en cours. Pour que ces méthodes fonctionnent, le champ défini par l'utilisateur doit exister dans le dossier, et non uniquement dans les éléments du dossier. Le Sélecteur de champs vous permet de créer un champ qui correspond à celui que vous utilisez dans le code. Vous pouvez également utiliser l'argument AddToFolderFields pour la méthode UserProperties.Add afin de vous assurer que lorsque vous ajoutez un champ à un élément, celui-ci est également ajouté au le jeu de champs du dossier.Enregistrement des éléments lors de la modification des valeurs des champsSi vous rédigez un code pour modifier une valeur de champ, vous devez enregistrer l'élément par l'intermédiaire d'un code (Item.Close 0). Si vous n'enregistrez pas l'élément, la valeur ne sera pas modifiée et vous pourriez avoir l'impression que le champ n'existe pas dans l'élément ou qu'il est à l'origine d'un comportement inattendu pouvant paraître déroutant.Exemple de solutionMicrosoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite, y compris, mais de manière non limitative, les garanties implicites de qualité marchande et/ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques. Si vous ne maîtrisez que partiellement la programmation, vous pouvez contacter un partenaire certifié Microsoft (Microsoft Certified Partners) ou le service client Microsoft au 0825 827 829 qui pourra transmettre votre demande de consulting aux équipes Microsoft appropriées. Pour plus d'informations sur les partenaires certifiés Microsoft, reportez-vous au site Web de Microsoft à l'adresse suivante :https://partner.microsoft.com/global/30000104
(https://partner.microsoft.com/global/30000104)
Pour plus d'informations sur les options de support technique disponibles et la procédure pour contacter Microsoft, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://support.microsoft.com/contactus/?ws=support
(http://support.microsoft.com/contactus/?ws=support)
Vous trouverez ci-dessous une longue série d'étapes permettant de créer un exemple de solution basée sur un dossier. Dans ce scénario, vous travaillez dans un hôpital vétérinaire et voulez effectuer un suivi des clients et de leurs animaux de compagnie. Pour cela, créez un sous-dossier Clients dans votre dossier Contacts par défaut.Création d'un dossier associé au dossier Contacts
Création et publication d'un formulaire de contact simple et personnaliséLe formulaire initial permettra d'effectuer le suivi des noms et types des animaux de compagnie des clients.
Aucun élément n'existe actuellement dans le dossier, car nous venons de le créer ; les champs existent maintenant dans le dossier et dans le formulaire. Puisque tous les nouveaux éléments s'appuient sur le formulaire publié, tous les éléments disposent également des deux champs définis par l'utilisateur. Il s'agit d'un scénario idéal, car les champs définis par l'utilisateur existent maintenant dans chaque emplacement possible lorsque vous utilisez ce dossier. Définition de la vue associée au dossierLes étapes suivantes permettront de configurer une vue de table et d'ajouter des champs à celle-ci afin de faciliter le suivi du comportement des champs de Microsoft Outlook.
Création de deux éléments contact associés au dossier Clients
Ajout d'un champ supplémentaire au formulaire publiéAjoutez un champ supplémentaire pour indiquer si chaque animal de compagnie a été castré ou non.
Notez que dans la vue Liste téléphonique, aucune zone n'est associée aux deux éléments. Cela indique que les champs ne figurent pas vraiment dans l'élément, mais proviennent du formulaire publié. Cette différence visuelle peut faire apparaître que les champs n'appartiennent pas à l'élément et, bien que ce soit techniquement le cas, ils restent cependant accessibles pour des raisons pratiques. Ajout d'un champ supplémentaire au dossierVous allez maintenant ajouter un champ supplémentaire pour la date de la castration sans utiliser pour cela le formulaire publié.
Création d'un troisième élément contact
REMARQUE : Il est possible de lier à nouveau l'élément au formulaire publié en remplaçant par programmation la valeur du champ Classe du message par IPM.Contact.Customer, mais la taille de l'élément ne sera pas réduite. Pour plus d'informations sur le champ Classe du message et la procédure à suivre pour le modifier, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft. 290659
(http://support.microsoft.com/kb/290659/
)
OL2002 : Comment faire pour mettre à jour des éléments existants afin d'utiliser un nouveau formulaire personnalisé
Supposons maintenant que vous souhaitiez copier les contacts dans un dossier public Exchange pour les partager, mais au lieu d'effectuer une copie du dossier, vous préférez en créer un autre et y faire glisser les contacts. Dans les étapes suivantes, nous allons utiliser un dossier standard à la place d'un dossier public proprement dit.
Création d'un dossier associé au dossier Contacts
Création d'un exemple de programmationUtilisez le code VB ou VB Automation suivant pour récupérer les personnes qui sont propriétaires de chiens. Assurez-vous de référencer d'abord la bibliothèque d'objets Outlook.Un message d'erreur d'exécution s'affiche :
La propriété Type d'animal de compagnie est inconnue.
RéférencesPour plus d'informations sur les ressources disponibles et les réponses aux questions les plus fréquemment posées sur les solutions Microsoft Outlook, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
287530
(http://support.microsoft.com/kb/287530/
)
OL2002 : Questions sur les formulaires personnalisés et les solutions Microsoft Outlook
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT. | Traductions disponibles
|
Retour au début
