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.
La seconde méthode est de faire appel à un peu de code pour récupérer
l'historique des modifications.
'*******************************************************************************
' 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.
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.