Temps
nécessaire pour suivre cette leçon : Entre quarante minutes
et un peu plus d'une heure
Pour suivre cette leçon, vous devez avoir suivi les leçons précédentes. Ou plus précisément, vous devez être en possession de la base de données ProFormation.mdb telle qu'elle était à la fin de la leçon précédente. Si vous n'êtes pas certain de l'avoir, vous pouvez la télécharger ici
Dans cette leçon, nous allons parler de la possibilité de créer des états sur plusieurs colonnes, ainsi que des mesures en centimères précises pour un bon affichage (marges et dimensions). Nous verrons à la fin que l'assistant étiquettes se repose sur les colonnes et ces dimensions dont nous allons parler. |
Créer un nouvel état, en mode création, basé sur T_Celebrite.
C'est cette règle qui va nous intéresser : .
Elle graduée en centimères. Vous voyez qu'ici la largeur
de la zone d'en-tête de page est de 10 centimères... Connaissez-vous
la largeur d'une feuille A4 ?
Oui. Une page A4 mesure 21 CM en largeur et 29.7 CM en hauteur. Mais attention : vous n'avez pas le droit d'utiliser la totalité des 21 centimètres... Il y a des marges à gauche et à droite.
Supprimez l'en-tête et le pied de page, et mettez le prénom et
le nom, comme d'habitude : Collez les bien tout à gauche, et réduisez
la grille blanche, comme ceci : .
Lancez votre état, et constatez que bien que vous avez collé les
champs à gauche et tout en haut, il y a évidemment une marge :
. Pour connaître
la taille de ces marges, allez dans le menu Fichier/Mise
en page :
.
C'est donc dans l'onglet Marges que
vous sont fournies les tailles (en millimètres) des marges Gauche, Droite,
Haut et Bas. Pourquoi 24.99 MM et pas 25 ? Je ne sais pas... Sans doute un arrondi
de conversion dû au fait qu'à la base c'étaient peut-être
des mesures anglaises. Bref : Ces marges sont en gros définies à
2,5 CM de tous les côtés. Réduisons-les
toutes à 1 CM (10 MM) :
,
et cliquez sur OK :
.
Bon, on dirait que la marge du haut est un tout petit peu plus grande que la
marge de gauche, je ne sais pas pourquoi, c'est peut être à cause
de l'affichage à l'écran.
ATTENTION : aussi bien avec Access 97 qu'avec Access 2000, j'ai constaté un petit bug : une fois les marges redéfinies, il faut bien sûr enregistrer l'état si on veut le garder, mais j'ai constaté à plusieurs reprises que ces marges ne s'enregistrent pas toujours, et reviennent spontanément à 24.99 MM... Je me suis dit que c'était peut être parce qu'il fallait faire cette manipulation en mode création plutôt qu'en aperçu avant impression, mais selon les cas, c'est aléatoire, il les garde ou non... Alors, il faut insister lourdement, et les remettre à 10MM. Au bout de quelques fois, finalement il les garde en mémoire, et ça ne bouge plus, mais c'est parfois un peu pénible.
Admettons qu'il les garde a 10 MM de tous les côtés, il faut maintenant effectuer un calcul pour déterminer la taille en largeur que l'on a le droit d'utiliser: 21CM de largeur de la feuille, moins 1 CM de la marge de gauche, moins un centimètre de la marge droite = 19 CM.
Faisons une expérience : écartez la grille blanche qui représente
la zone imprimable jusqu'à à peu près 18.5 CM : .
Lancez votre état en mode aperçu.. Rien ne change, il affiche
exactement la même chose que lorsque la zone était étroite...
Mais maintenant, élargissez-là encore un tout petit peu jusqu'à
19.5 CM (Trop large donc pour la feuille puisqu'on a dit que c'était
19CM maximum) :
.
Cette fois, quand vous lancez votre état, un message s'affiche :
Comme la section (La grille blanche) dépasse les 19 CM autorisés, il reste alors un demi centimètre de zone toute blanche... Et il va vouloir l'imprimer quand même cette petite tranche toute inutile. Il va l'imprimer sur ... la page suivante. Ce qui fait que :
Comme ceci :
C'est aussi simple que ça. Resserrez maintenant au maximum la grille
blanche vers la gauche :
Vous avez la possibilité d'imprimer un état sur plusieurs colonnes sur la feuille.
Dans notre cas, justement, nous n'imprimons que les noms et les prénoms, seule la partie gauche de la feuille est utilisée : C'est dommage ! Autant imprimer sur 2 ou 3 colonnes, ce sera plus économique.
Pour voir le nombre de colonnes désirées, allez dans le menu
Fichier/Mise en page, Onglet Colonnes :
. Précisez
que vous désirez 2 colonnes. Mais alors... Pouvez-vous toujours calculer
l'espace mangé sur votre feuille A4 à présent ?
C'est ça. Presque. Lancez l'état en aperçu avec vos 2
colonnes :
Parce qu'il y a un espace inter-colonne. Pour le visualiser, revenez en mode
création, et peignez le nom en jaune et le prénom en bleu : .
Lancez l'état, et regardez :
.
Cet espace a été créé automatique à cet endroit
: Menu Fichier/Mise en page, onglet colonnes :
.
Mettez cette valeur à 0 au lieu de 0.635, et OK. Relancez l'état,
il n'y a plus d'espace :
.
C'est pourça que je vous ai répondu "Presque" tout à
l'heure : Pour le calcul de la place nécessaire, c'est la taille des
colonnes PLUS l'espacement inter-colonnes. MAINTENANT qu'il n'y a plus d'espace
votre calcul est juste.
Non. Il va falloir la dessiner à la main, c'est un peu astucieux, mais voilà :
Rien de magique : à côté du nom, il y a une toute petite
ligne verticale, et comme le nom suivant est collé au nom d'avant, la
ligne aussi, est collée. D'ou cette illusion d'une grande ligne séparatrice.
Il suffit que vous écartiez un tout petit peu le détail :
pour constater le phénomène : Les petites lignes ne se rejoignent
plus :
Eh non ! Pas facilement : c'est normal, puisque nous avons demandé pour chaque colonne : Le prénom, le nom et une ligne... Pour toutes les colonnes, il y aura donc une ligne : Je vous avais prévenu, c'est du bricolage.
On pourra la retirer, mais pas tout de suite, car ca demande de sérieuses compértences en Visual Basic. Peut-être dans une version ultérieure d'Access y aura-t-il une simple case à cocher "Ligne de séparation" - Comme dans Word d'ailleurs, il y a cette option, mais pas ici, voilà...
Il y a encore quelque chose dont je ne vous ai pas parlé : c'est l'ordre d'affichage des données.
Pour illustrer mon propos, j'aimerais que vos données apparaissent par ordre alphabétique des prénoms (pour changer). Tout comme il n'était pas forcément nécessaire de faire une requête pour extraire les gens qui ont un salaire connu, mais un filtre suffit (leçon précédente), il existe aussi une astuce pour trier les données directement dans l'état.
Demandez les propriétés de l'état lui-même, et dans
l'onglet Données, Ecrivez Prenom dans la
propriété "Tri par", et écrivez
Oui dans "Tri Actif". Profitez-en pour exclure les gens qui n'ont
pas de prénom en écrivant Prenom<>Null
dans Filtre Par, et Filtre Actif : Oui : .
Lancez l'état, et constatez l'ordre dans lequel il s'imprime : Al (1ème
colonne), Albert (2ème colonne), Alberto (1ère colonne), etc.
Alfred, Amélie, Ayrton... Moi, je ne trouve pas ça très
lisible. J'aimerais qu'au contraire, il remplisse la première colonne,
et, ensuite qu'il continue ave la 2ème (et, s'îl y en avait une,
qu'il imprime la 3ème). Cette option se trouve dans le menu
Fichier/Mise en page, onglet Colonnes :
.
Cliquez sur la 1ère option : Vers le bas, et vers la droite. Cette fois,
l'affichage s'effectue dans l'autre sens :
Non, ce n'est pas possible comme ça.
C'est en 3 colonnes du début de l'état jusqu'à la fin. Point final ! Il y a une possibilité de faire ce que vous demandez, mais en utilisant un sous-état, ce qui déborde largement de cette leçon.
Enregistrez votre état : E_Colonne
Je vais vous rappeler d'anciens souvenirs : Les étiquettes. Vous vous rappelez ? c'était à la leçon 43.
Un rapport très étroit ! Nous sommes d'accord sur le fait que
nous pouvons disposer les champs les un en dessous des autres, et élargir
la section détail à loisir, comme ceci par exemple :
Eh bien voilà ! C'est ce qu'utilise l'assistant étiquette pour
faire son état : Une certaine largeur, une certaine hauteur, une certaine
marge en haut, bas, gauche et droite, et un certain nombre de colonnes, c'est
tout... Simplement, c'est dans l'assistant Etiquette que vous allez préciser
toutes ces mesures de manière bien conviviale : .
Pour vous en convaincre, créez un état avec assistant étiquettes
(revoyez éventuellement la leçon
43), basé sur le modèle "Etiquettes trouvées dans
un tiroir", et sur T_Celebrite, avec ces quelques champs :
,
appelez-le E_EtiquetteColonne, et visualisez-le en mode création :
Non. Une chose après l'autre. Fermez cet état et revenez dans
E_Colonne. Nous allons étudier la règle verticale : .
Vous constatez que dans notre cas, un quart de centimètre environ est
utilisé verticalement pour l'affichage des champs, il
suffit dès lors de multiplier 0.25 CM par le nombre d'enregistrements
pour avoir une idée de la hauteur totale de votre état.
Dans notre cas, nous avons environ 100 enregistrements : 100 X 0.25 = 25 CM en hauteur, mais comme nous avons 2 colonnes, il n'y a plus besoin que de 12.5 CM en hauteur, mais attention, il faut encore déduire 1 CM en haut et 1 CM en bas de marge.
Enfin bref, ça devrait tenir sur une page A4. Si vous rajoutez un en-tête de page, un en-tête d'état, ou un pied de page ou d'état, ou des en-têtes ou pieds de groupes, ça complique chaque fois le calcul. Finalement, en hauteur, on ne s'occupe pas vraiment de ce que ça va donner : C'est la suprise à l'aperçu avant impression.
Nous allons nous arrêter là pour cette leçon.
Pour bien maîtriser la conception d'un état, il est nécessaire de connaître et définir correctement les marges. Par défaut, elles sont définies à 2.5Cm (2.499) de chaque côté de la feuille, mais rien n'empêche de changer ces dimensions. Lorsqu'on déborde de la marge de droite, un message d'avertissement nous signale l'erreur. Des colonnes sont ensuite applicables, bien pratiques lorques les données à imprimer ne sont pas très larges et qu'il s'agit d'économiser du papier. Un petit bricolage nous permettra d'afficher des séparations entre les colonnes. Enfin, nous avons vu que l'assistant étiquettes s'appuie sur toutes ces mesures.. |
Pour voir les solutions, il vous suffit de sélectionner le questionnaire ci-dessus : 3 petites étoiles *** apparaîtront en face des bonnes réponses. |
L'exercice consite à reproduire cet état dans votre base de données Proformation.mdb. Vous l'enregistrerez sous E_ColonneGroupeEtatCivil. Le voici intégralement reproduit : Prenez en compte les points suivants :
Téléchargez la solution de l'exercice ici, qui n'est autre que ProFormation telle qu'elle devrait être à la fin de cette leçon. |
Si vous n'êtes pas tout à fait certain d'avoir suivi correctement toutes les étapes de cette leçon, vous avez la possibilité de télécharger ici la version de ProFormation.mdb exactement dans l'état ou elle devrait être à la fin de cette leçon.
Avez-vous une question technique
concernant cette leçon ? Cliquez
ici !
Une remarque sur cette leçon ? Un problème
? Une erreur ? une ambiguité ? Soyez
gentil de m'en informer