Découverte Access 2007 : Les Champs Mémo au Format Texte Enrichi

Lebeau Olivier

Comment rendre plus agéable la lecture de champ mémo dans Access.

- Titre : Découverte Access 2007 : Les Champs Mémo au Format Texte Enrichi

- Auteur : Lebeau Olivier

- Parution : 9 mars 2007

- Licence : Copyright ® 2007 Olivier Lebeau. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Les champs Mémo au Format Texte Enrichi

- I-A. Avec sa nouvelle version d'Access, Microsoft offre à l'utilisateur la possibilité d'utiliser le format texte enrichi dans les champs mémo.

- I-B. Le HTML

- I-C. Comment insérer un champ mémo dans une table et permettre l'utilisation du HTML

- I-C-1. Table en mode création

- I-C-2. Le HTML dans les formulaires

- I-C-3. Dans les états

- I-C-4. Changement de type de texte dans un formulaire

- I-D. Autre nouveauté introduite avec les champs mémo : l'historique des modifications des données.

- I-D-1. Comment activer cette option

- I-D-2. Comment obtenir la liste des modifications

- I-E. Limites du format texte enrichi

- I-F. Conclusions

I - Les champs Mémo au Format Texte Enrichi

I-A - Avec sa nouvelle version d'Access, Microsoft offre à l'utilisateur la possibilité d'utiliser le format texte enrichi dans les champs mémo.

Pour rappel, les champs mémo sont des champs qui permettent le stockage de texte de plus de 255 caractères. Dans les versions précédentes d'Access, ces champs contenaient du texte brut. Avec la version 12 d'Access, il est maintenant possible d'enrichir l'affichage du texte dans les champs mémo.

Cette fonctionnalité rend plus intéressante et attrayante l'utilisation de champs mémo. Les champs mémo ont perdu leur limitation en ce qui concerne l'indexation en effet, un champ mémo peut être indexé sur la dernière version d'Access. On peut même indexer ces champs avec ou sans doublons

Toutefois, les champs mémo sont devenus plus gourmands en espace disque avec le stockage du texte en code Unicode.

I-B - Le HTML

Le HTML est un format de texte enrichi développé pour le WEB. Son utilisation facilitée et agrémente la lecture des pages WEB.

I-C - Comment insérer un champ mémo dans une table et permettre l'utilisation du HTML

I-C-1 - Table en mode création

Access permet la création de tables de deux façons différentes et il est possible d'utiliser ces deux méthodes pour créer un champ mémo au format texte enrichi.

Dans la colonne type de donnée, il suffit d'utiliser le menu déroulant pour y choisir le Type mémo.

A ce stade, c'est un champ mémo simple sans enrichissement de texte. Pour activer l'enrichissement du texte il faut aller dans les propriétés du champ.

Les propriétés sont accessibles dans le volet inférieur ou latéral.

Avant modification de la propriété, la valeur par défaut est texte brut. Toujours suivant le même principe, on peut modifier cette valeur par un menu déroulant et choisir Texte enrichi.

Dans la même fenêtre, on remarque aussi que les propriétés Indexé « Oui avec doublons », « Sans doublon » sont également possibles. Son utilité restant à démontrer vu la grande quantité de caractères.

Une autre façon de procéder est d'aller en mode feuille de données et d'utiliser la barre d'outils pour afficher les types de champs disponibles.

Ajouter un nouveau champ.

La flèche indique le départ et l'arrivée du glisser déposer.

Nous obtenons en résultat un nouveau champ de type texte enrichi.

Mais on ne profite pleinement de cette fonctionnalité de texte enrichi que dans les formulaires et les états. Mais cette fonctionnalité reste disponible grâce à une barre d'outils flottante. Principe que l'on retrouve dans les autres applications de la suite bureautique.

Cette barre d'outils possède tout ce qu''il faut pour enrichir le texte.

Les différentes options sont les attributs normaux, Gras, Italique, Souligné. Mais aussi la couleur de la police, la fonte, l'indentation, l'alignement du paragraphe, la possibilité d'utiliser des puces ou la numérotation.

I-C-2 - Le HTML dans les formulaires

C'est dans les formulaires que l'on peut profiter au maximum de cette nouvelle fonctionnalité.

C'est ici que l'on peut réellement mesurer l'avantage et la clarté du Texte Enrichi. On profite d'une interaction directe. Mais avant de se décourager, il faut quand même vérifier que le contrôle du formulaire autorise l'affichage du texte enrichi. C'est une vérification qui est principalement à faire lorsque l'on convertit du texte brut en texte enrichi alors que le formulaire existe déjà.

I-C-3 - Dans les états

Dans les états, on retrouve la même clarté. Ce qui était auparavant des textes insipides est devenu un peu plus agréable à lire, quoique qu'on puisse en penser un texte mémo est destiné à la lecture.

La différence est directement visible.

I-C-4 - Changement de type de texte dans un formulaire

Si l'on modifie le type de texte d'un champ mémo d'une table, l'affichage dans le formulaire n'est pas pour autant changé. Si cette option est activée lors de lacréation de la table, le formulaire affiche les données correctement. Si ce n'est pas le cas, on peut modifier le type d'affichage de la même manière que l'on modifie le champ dans la table

I-D - Autre nouveauté introduite avec les champs mémo : l'historique des modifications des données.

I-D-1 - Comment activer cette option

La toute dernière ligne de la fenêtre de propriété du champ mémo contient le texte suivant : Ajouter uniquement.
Par défaut, cette option est sur non. C'est un peu paradoxal, mais pour bénéficier du suivi des modifications, il faut mettre la valeur à oui. Une fois cette valeur changée, toutes les modifications de données faites à ce champ seront enregistrées avec la date et l'heure de modification, ainsi que l'intégralité du texte.

I-D-2 - Comment obtenir la liste des modifications

On peut obtenir la liste des modifications apportées aux champs mémo de deux façons. La première est avec un clic droit tant au niveau d'un formulaire qu''au niveau de la table. Une boîte de dialogue apparaît avec la liste des modifications qui ont été apportées aux données.

Clic droit

La seconde méthode est de faire appel à un peu de code pour récupérer l'historique des modifications.

Fonction Historique

'*******************************************************************************
' Cette fonction permet de récupérer dans un string l'enregistrement
' de toutes les modifications effectuées sur le champ mémo
'*******************************************************************************
Public Function AffichageHistorique(sttable As String, stfield As String, stquery As String)
Dim stTemp As String
AffichageHistorique = Application.ColumnHistory(sttable, stfield, stquery)
End Function

L'appel de cette fonction pourra se faire dans un formulaire. Lors de l'appel de la fonction, on passera des paramètres en valeur pour la méthode ColumnHistory. Ces arguments représentent le nom de la table, le nom du champ et l'identifiant de l'enregistrement.

Appel de la fonction

Private Sub cmd_Historique_Click()
Dim chg As String

chg = AffichageHistorique("tblMessage", "txtcorps", "idmess = " & Me.Idmess)

Me.lblResult = chg
MsgBox Len(chg)

End Sub

Pendant la rédaction de l'article, j'ai voulu par curiosité vérifier la longueur de chaîne du champ mémo présent dans la table. Il est apparus que les changements ne sont pas stockés dans le champ.

Les données sont structurées comme suit :

[Version : 4/03/2007 12:51:34 ] Corps de texte
Seconde ligne
Troisième ligne
Essai
[Version : 4/03/2007 12:52:42 ] Texte du message Texte en gras
[Version : 4/03/2007 12:54:44 ] Texte du message Texte en gras
Texte en Italique
Souligné
[Version : 4/03/2007 12:58:36 ] Texte du message Texte en gras
Texte en Italique
Souligné

[Version : 4/03/2007 13:00:14 ] Texte du message Texte en gras
Texte en Italique
Souligné

On remarque deux blocs distincts, l'un reprenant la date et l'heure de la modification, et le second, la valeur du champ avant modification.

I-E - Limites du format texte enrichi

Lors de l'exportation des Objets de la base de données contenant du HTML, le format n'est pas conservé. Ainsi, si l'on utilise l'export d'un état vers un document Word, on se retrouve dans Word avec un texte brut. La conversion a éliminé les balises Html. On obtient la même chose si on exporte un état vers une page HTML. La conversion ne tient pas compte du format.

I-F - Conclusions

Avec ces fonctionnalités supplémentaires, Access devient un peu plus agréable à la lecture de long texte.

Il n'est désormais plus nécessaire de faire appel à des artifices pour obtenir une mise en forme correcte et agréable facilitant la lecture.

ondages Access 2007FAQ Access 2007Ma page