Je ne peux pas enregistrer ma base de données répliquée au format Access 2007

Problèmes

Dans Microsoft Office Access 2007, les bases de données répliquées qui ont été créées dans des versions antérieures d'Access (format .MDB) ne peuvent pas être enregistrées sous le nouveau format de fichier .ACCDB. L'option s'affiche en grisé (désactivée) lorsque vous tentez d'utiliser la commande Enregistrer la base de données sous (cliquez sur l'Image du bouton Microsoft Office, puis cliquez sur la flèche située à côté de Enregistrer sous).

Raison

Le format de fichier .ACCDB ne prend pas en charge la réplication.

Résolution

Utiliser la base de données répliquée au format de fichier .MDB

Vous pouvez continuer à utiliser votre base de données répliquée au format de fichier .MDB, car la fonctionnalité de réplication est toujours prise en charge pour ce format.

Recréer manuellement la base de données au format de fichier Office Access 2007

Si vous décidez que le nouveau format de fichier est plus avantageux que la réplication, vous pouvez créer une base de données au format Office Access 2007 et recréer manuellement la base de données répliquée.

 Remarque   Cette méthode fonctionnera sur les bases de données répliquées. Sauf si vous travaillez avec un réplica complet synchronisé avec tous les autres réplicas dans le jeu de réplicas, les données et projets qui ne se trouvent pas déjà dans votre réplica ne figureront toutefois pas dans la nouvelle base de données.

Avant de commencer à recréer votre base de données, vous devez vous assurer que tous les objets masqués et système dans le réplica sont visibles. Cela vous permet de vérifier que vous pouvez accéder aux champs replica-specific dans le réplica lorsque vous e recréez.

  1. Ouvrez le réplica que vous souhaitez convertir. Vous devez ouvrir le réplica en utilisant la version d'Access qui a été utilisée au départ pour créer le réplica, afin d'afficher les champs masqués et système.
  2. Dans le menu Outils, cliquez sur Options. La boîte de dialogue Options s'ouvre.
  3. Dans l'onglet Affichage, dans la section Afficher, sélectionnez Objets masqués et Objets système. Cliquez sur OK pour appliquer les nouveaux paramètres, puis fermez la boîte de dialogue Options.

Recréer manuellement la base de données

  1. Créez une base de données vide, puis ouvrez-la.

 Remarque   Access crée une nouvelle table vide nommée Table1. Vous devez supprimer cette table — pour ce faire, vous pouvez la fermer immédiatement avant de lui apporter la moindre modification. Cliquez droit sur son onglet Objet, puis cliquez sur Fermer dans le menu contextuel.

  1. Sous l'onglet Données externes, dans le groupe Importer, cliquez sur Access.

La boîte de dialogue Données externes - Base de données Access s'affiche.

  1. Cliquez sur Parcourir pour rechercher la base de données répliquée.
  2. Cliquez sur la base de données répliquée qui contient les objets de base de données à recréer dans la nouvelle base, puis cliquez sur Ouvrir.
  3. Dans la boîte de dialogue Données externes - Base de données Access, cliquez sur Importer des tables, des requêtes, des formulaires, des états, des macros et des modules dans la base de données active, puis sur OK.
  4. Cliquez sur les objets que vous voulez importer dans la nouvelle base de données. Pour importer tous les objets, cliquez sur Sélectionner tout sur chaque onglet.

Important    Ne sélectionnez aucune table à cette étape. Vous recréerez les tables à une étape ultérieure.

  1. Une fois que vous avez sélectionné les objets, cliquez sur OK pour les importer.

Sur la dernière page de l'Assistant, vous avez la possibilité d'enregistrer les étapes d'importation pour une utilisation ultérieure. Pour ce faire, activez la case à cocher Enregistrer les étapes d'importation, entrez les informations appropriées, puis cliquez sur Enregistrer l'importation.

  1. Ouvrez la base de données répliquée dans Office Access 2007. Pour chaque table de la base de données répliquée, créez une requête Création de table qui prend toutes les données de l'ancienne table et crée une table dans la nouvelle base de données avec les mêmes données.

 Remarque   Si le champ s_GUID (GUID : champ de 16 octets utilisé dans une base de données Access pour établir un identificateur unique de réplication. Les GUID sont utilisés pour identifier des réplicas, des jeux de réplicas, des tables, des enregistrements et d’autres objets. Dans une base de données Access, les GUID sont appelés « numéros de réplication ».) est une clé primaire (et que des clés étrangères (clé étrangère : un ou plusieurs champs de table (colonnes) qui font référence au(x) champ(s) de clé primaire d’une autre table. Une clé étrangère indique comment les tables sont liées.) dans d'autres tables y font référence), vous devez inclure le champ s_GUID dans la nouvelle table. Si ce champ n'est pas utilisé comme une clé primaire, vous n'avez aucune raison de le conserver dans la nouvelle table. Ne copiez pas les champs s_Lineage et s_Generation dans la nouvelle table.

Par défaut, les champs s_GUID, s_Lineage et s_Generation sont masqués. Pour afficher ces champs, suivez la procédure suivante :

  1. Dans la base de données répliquée, vérifiez que toutes les tables sont fermées.
  2. Cliquez droit sur le haut du volet de navigation, puis cliquez sur Options de navigation. La boîte de dialogue Options de navigation s'ouvre.
  3. Dans la section Options d'affichage , sélectionnez Objets système , puis cliquez sur OK .

AfficherProcédure

  1. Créez une requête en sélectionnant les tables qui contiennent les enregistrements que vous souhaitez inclure dans la nouvelle table.

AfficherProcédure

  1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création de requête.
  1. Dans la boîte de dialogue Afficher la table, cliquez sur l'onglet répertoriant les tables dont vous souhaitez utiliser les données.
  2. Double-cliquez sur le nom de chaque objet que vous voulez ajouter à la requête, puis cliquez sur Fermer.
  3. Ajoutez des champs à la ligne Champ, dans la grille de création (grille de création : grille qui vous permet de créer une requête ou un filtre en mode Création de requête ou dans la fenêtre Filtre/tri avancé. Pour les requêtes, cette grille était auparavant appelée « grille d’interrogation ».).
  4. Pour afficher les résultats de la requête, cliquez sur le menu Affichage, puis cliquez sur Mode Feuille de données.

  1. En mode Création (mode Création : fenêtre qui présente la création des objets de base de données suivants : tables, requêtes, formulaires, états et macros. En mode Création, vous pouvez créer de nouveaux objets de base de données et modifier la structure d’objets existants.) de la requête, dans le groupe Type de requête de l'onglet Création, cliquez sur Créer une table. La boîte de dialogue Création de table s'affiche.
  2. Dans la zone Nom de la table, tapez le nom de la table à créer ou à remplacer.
  3. Cliquez sur Autre base de données, puis tapez le chemin d'accès à la base de données dans laquelle vous souhaitez placer la nouvelle table ou cliquez sur Parcourir afin de rechercher la base de données.
  4. Cliquez sur OK.
  5. Sous l'onglet Créer, dans le groupe Résultats, cliquez sur Exécuter. La nouvelle table est alors créée.

 Remarque   La nouvelle table que vous créez n'hérite pas des propriétés de champs ni du paramètre clé primaire (clé primaire : un ou plusieurs champs (colonnes) dont la valeur identifie de façon unique chaque enregistrement d’une table. Une clé primaire n’accepte pas les valeurs Null et doit toujours avoir un index unique. Une clé primaire sert à relier une table à des clés étrangères se trouvant dans d’autres tables.) de la table d'origine.


  1. Pour chaque table de la nouvelle base de données, créez le même index (index : fonctionnalité qui accélère la recherche et le tri dans une table basée sur des valeurs clés et qui peut garantir l’unicité des lignes d’une table. La clé primaire d’une table est automatiquement indexée. Certains champs ne peuvent pas être indexés en raison du type de données qu’ils contiennent.) et la même clé primaire que ceux utilisés dans la table du réplica.

AfficherProcédure

  1. Ouvrez une table en mode Création.
  2. Dans la partie supérieure de la fenêtre, cliquez sur le champ pour lequel vous souhaitez créer un index (index : fonctionnalité qui accélère la recherche et le tri dans une table basée sur des valeurs clés et qui peut garantir l’unicité des lignes d’une table. La clé primaire d’une table est automatiquement indexée. Certains champs ne peuvent pas être indexés en raison du type de données qu’ils contiennent.).
  3. Dans la partie inférieure de la fenêtre, cliquez sur la zone de propriété Indexé, puis sur Oui - Avec doublons ou Oui - Sans doublons.
  4. Sélectionnez le champ ou les champs qui comprennent la clé primaire.
  5. Sous l'onglet Création, dans le groupe Outils, cliquez sur Clé primaire.

  1. Pour chaque table de la nouvelle base de données, créez les mêmes relations (relation : association établie entre des champs communs (colonnes) de deux tables. Une relation peut être de type un à un, un à plusieurs ou plusieurs à plusieurs.) que celles qui existaient dans la table du réplica.

AfficherProcédure

Lorsque vous créez une relation entre des tables, les champs associés ne doivent pas obligatoirement porter le même nom. Toutefois, ils doivent comporter le même type de données (type de données : caractéristique d’un champ qui détermine le type des données qu’il peut contenir. Les différents types de données sont Boolean, Integer, Long, Currency, Single, Double, Date, String et Variant (par défaut).), à moins que le champ de clé primaire ne soit un champ NuméroAuto (type de données NuméroAuto : dans une base de données Microsoft Access, type de données de champ qui stocke automatiquement un numéro unique pour chaque enregistrement lors de son ajout à une table. Trois types de numéros peuvent être créés : séquentiel, aléatoire et numéro de réplication.). Vous pouvez faire correspondre un champ NuméroAuto avec un champ numérique uniquement si la propriété TailleChamp des deux champs correspondants est identique. Par exemple, vous pouvez faire correspondre un champ NuméroAuto avec un champ numérique si la valeur de la propriété TailleChamp des deux champs est Entier long. La propriété TailleChamp doit avoir la même valeur, même si les deux champs associés sont des champs numériques.

AfficherDéfinir une relation un-à-plusieurs ou un-à-un

  1. Fermez toutes les tables ouvertes. Vous ne pouvez pas créer ou modifier des relations entre des tables ouvertes.
  2. Sous l'onglet Outils de base de données, dans le groupe Afficher/Masquer, cliquez sur Relations.
  1. Si vous n'avez défini aucune relation dans votre base de données, la boîte de dialogue Afficher la table apparaît automatiquement.

Si vous devez ajouter les tables que vous souhaitez lier et que la boîte de dialogue Afficher la table n'apparaît pas, appelez-la : pour cela, dans le groupe Afficher/Masquer de l'onglet Création, cliquez sur le bouton Afficher la table.

  1. Double-cliquez sur le nom des tables que vous souhaitez lier, puis fermez la boîte de dialogue Afficher la table. Pour créer une relation entre une table et elle-même, ajoutez-la deux fois.
  2. Faites glisser à partir d'une table le champ que vous souhaitez lier au champ d'une autre table.

Pour faire glisser plusieurs champs, appuyez sur CTRL, cliquez sur chaque champ, puis faites-les glisser.

Dans la plupart des cas, vous faites glisser le champ de clé primaire (dont le texte apparaît en gras) d'une table vers un champ similaire (portant généralement le même nom), appelé la clé étrangère (clé étrangère : un ou plusieurs champs de table (colonnes) qui font référence au(x) champ(s) de clé primaire d’une autre table. Une clé étrangère indique comment les tables sont liées.) de l'autre table.

  1. La boîte de dialogue Modification des relations s'affiche. Vérifiez le nom des champs affichés dans les deux colonnes et assurez-vous qu'ils sont corrects. Vous pouvez les modifier si nécessaire.

Définissez les options de relation, si nécessaire.

  1. Cliquez sur le bouton Créer pour créer la relation.
  2. Répétez les étapes 4 à 7 pour chaque paire de tables à lier.

Lorsque vous fermez la fenêtre Relations (fenêtre Relations : onglet d’objet dans lequel vous affichez, créez et modifiez des relations entre des tables et des requêtes.), Microsoft Access vous demande si vous souhaitez enregistrer la mise en forme. Quelle que soit votre réponse, les relations créées sont enregistrées dans la base de données.

AfficherDéfinir une relation plusieurs-à-plusieurs

  1. Créez les tables entre lesquelles vous souhaitez établir une relation plusieurs-à-plusieurs. (relation plusieurs à plusieurs : association entre deux tables dans laquelle un enregistrement de l’une des tables peut être lié à plusieurs enregistrements de l’autre table. Pour établir une relation de ce type, créez une troisième table, puis ajoutez à cette table les champs de clé primaire des deux autres tables.)
  2. Créez une troisième table, appelée table de jointure, puis ajoutez-lui de nouveaux champs possédant les mêmes définitions que les champs de clé primaire de chacune des deux autres tables. Dans la table de jointure, les champs de clé primaire fonctionnent comme des clés étrangères. Vous pouvez ajouter d'autres champs à la table de jointure de la même manière que pour une autre table.
  3. Dans la table de jointure, définissez la clé primaire qui doit inclure les champs de clé primaire des deux autres tables. Par exemple, dans une table de jointure Détails des commandes, la clé primaire serait composée des champs N° de commande et N° de produit.

AfficherProcédure

  1. Ouvrez la table en mode Création.
  2. Sélectionnez le ou les champs que vous souhaitez définir en tant que clé primaire.

Pour sélectionner un champ, cliquez sur le sélecteur de ligne (sélecteur de ligne : petite case ou barre qui, lorsque vous cliquez dessus, sélectionne l’intégralité d’une ligne lorsque vous travaillez en mode Création de table ou en mode Création de macro, ou lorsque vous triez et groupez des enregistrements en mode Création d’état.) en regard du champ.

Pour sélectionner plusieurs champs, maintenez la touche CTRL enfoncée et cliquez sur le sélecteur de ligne correspondant à chaque champ.

  1. Sous l'onglet Création, dans le groupe Outils, cliquez sur Clé primaire.

 Remarque   Si vous voulez que l'ordre des champs dans une clé primaire de plusieurs champs soit différent de celui des champs de la table, cliquez sur le bouton Index dans le groupe Afficher/Masquer pour afficher la fenêtre Index (fenêtre Index : dans une base de données Access, fenêtre dans laquelle vous pouvez soit afficher ou modifier les index d’une table, soit créer des index multichamps.), puis changez l'ordre des noms des champs pour l'index (index : fonctionnalité qui accélère la recherche et le tri dans une table basée sur des valeurs clés et qui peut garantir l’unicité des lignes d’une table. La clé primaire d’une table est automatiquement indexée. Certains champs ne peuvent pas être indexés en raison du type de données qu’ils contiennent.) nommé CléPrimaire.


  1. Définissez une relation un-à-plusieurs (relation un-à-plusieurs : association entre deux tables dans laquelle la valeur de clé primaire de chaque enregistrement de la table primaire correspond à la valeur du ou des champs correspondants de plusieurs enregistrements de la table liée.) entre chacune des deux tables principales (table primaire : côté « un » de deux tables liées dans une relation un-à-plusieurs. Une table primaire doit comporter une clé primaire et chaque enregistrement doit être unique.) et la table de jointure.

  1. Enregistrez votre nouvelle base de données.
 
 
S'applique à :
Access 2007