ACC2000 : Procédures pour créer une table des matières ou un index pour un état

Utilisateur averti : Cet article requiert des connaissances de base en matière de macros, de programmation et d'interopérabilité.


Cet article s'applique uniquement aux bases de données Microsoft Access (.mdb).


Résumé

Cet article vous indique la procédure à suivre pour créer une table des matières ou un index pour un état.


REMARQUE : Cet article explique la technique présentée dans le fichier d'exemple RptSmp00.mdb. Pour connaître la procédure à suivre pour vous procurer ce fichier d'exemple , consultez l'article suivant dans la Base de connaissances Microsoft :
231851 ACC2000 : États d'exemples de Microsoft Access 2000 disponibles auprès du Centre de téléchargement

Plus d'informations

Microsoft Access ne dispose pas d'une fonctionnalité Table des matières ou Index pour les états. Cependant, vous pouvez utiliser une table pour stocker les descriptions et les numéros de pages, puis créer un état à partir de cette table et utiliser celui-ci comme état de la table des matières. Vous pouvez utiliser la même méthode pour créer un index.


Pour créer un état qui génère une table des matières, procédez comme suit.


ATTENTION : En suivant les étapes de cet exemple, la base de données Comptoir.mdb sera modifiée. Vous pouvez sauvegarder le fichier Comptoir.mdb et exécuter ces étapes sur une copie de la base de données.


  1. Ouvrez la base de données exemple Les Comptoirs.mdb.
  2. Créez la table suivante et enregistrez-la en tant que table des matières :

    Table : Table des matières
    -------------------------------
    Nom du champ : Description
    Type de données : Texte
    Taille du champ : 15
    Indexé : Oui (pas de doublons)
    Nom du champ : Numéro de page
    Type de données : Nombre
    Taille du champ : Entier long
    Indexé : Non

    REMARQUE : Assurez-vous que le champ Description contient le même type
    de données que le champ apparaissant dans l'état ; ce champ sera
    utilisé comme titre dans la table des matières.
  3. Créez un module et tapez les lignes suivantes dans la section de déclaration.
    Option Explicit

    Dim db As DAO.Base de données
    Dim TocTable As DAO.Jeu d'enregistrements
  4. Créez la procédure suivante.
    Function InitToc()
    'Appelée à partir de la propriété Sur Ouverture de l'état.
    'Ouvre la base de données et la table pour l'état.
    Dim qd As DAO.QueryDef

    Set db = CurrentDb()

    'Supprime toutes les entrées précédentes dans la table Table des matières.
    Set qd = db.CreateQueryDef("", "Supprimer * À partir de [Table des matières]")

    qd.Execute
    qd.Close

    'Ouvrir la table.
    Set TocTable = db.OpenRecordset("Table des matières", dbOpenTable)

    TocTable.Index = "Description"
    End Function

    Function UpdateToc(TocEntry As String, Rpt As Report)
    'Appel à partir de la propriété Sur Impression de la section contenant
    'le champ Description de la table des matières.
    'Met à jour la table Table des matières.
    TocTable.Seek "=", TocEntry

    If TocTable.NoMatch Then
    TocTable.AddNew
    TocTable!Description = TocEntry
    TocTable![numéro de page] = Rpt.Page
    TocTable.Mise à jourUpdate
    End If
    End Function
  5. Ouvrez l'état Produits par catégories en mode Création et définissez la propriété Sur Ouverture de l'état comme suit :
    =InitToc()
  6. Sélectionnez l'intitulé NomCatégorie et définissez la propriété Sur Impression de l'intitulé comme suit :
    =UpdateToc([NomCatégorie],État)
    REMARQUE : Lorsque vous prévisualisez ou imprimez l'état, la table Table des matières est mise à jour. La table Table des matières enregistre la page de début de chaque nouvelle catégorie.


    Si vous prévisualisez l'état, parcourez l'ensemble des pages de l'état pour vous assurer que l'événement Imprimer est déclenché pour l'ensemble des enregistrements.
  7. Créez un autre état basé sur la table des matières pour imprimer cette dernière.
Pour imprimer la table des matières, imprimez l'état Produits par Catégorie, puis l'état de la table des matières.
Propriétés

ID d'article : 210269 - Dernière mise à jour : 11 oct. 2006 - Révision : 1

Commentaires