Créer une requête Ajout

Cet article explique comment créer et exécuter une requête Ajout. Vous l'utilisez pour ajouter de nouvelles lignes de données à une table existante.

Si vous devez modifier ou mettre à jour certaines données dans un jeu d'enregistrements, tel qu'un ou plusieurs champs, vous pouvez utiliser une requête Mise à jour. Pour plus d'informations sur les requêtes Mise à jour, voir l'article Créer une requête Mise à jour.

Si vous devez copier les données d'une table existante, vous pouvez créer une requête de création de table. Pour plus d'informations sur les requêtes de création de table, consultez l'article Créer une requête de création de table.

Que voulez-vous faire ?


Comprendre les requêtes Ajout

Une requête Ajout ajoute un ensemble d'enregistrements (de lignes) à partir d'une ou plusieurs tables source (ou requêtes) vers une ou plusieurs tables de destination. En règle générale, les tables source et de destination peuvent être dans la même base de données, sans pour autant le devoir. Par exemple, imaginons que votre clientèle s'élargisse et que vous vous procuriez une base de données contenant une table d'informations sur ces nouveaux clients. Pour éviter d'entrer ces nouvelles données manuellement, vous pouvez les ajouter à la table appropriée de votre base de données. Vous pouvez également utiliser des requêtes Ajout pour effectuer les opérations suivantes :

  • Ajouter des champs en fonction de certains critères. Par exemple, vous pouvez ajouter uniquement les noms et adresses des clients dont les commandes n'ont pas encore été traitées.
  • Ajouter des enregistrements lorsque certains champs d'une table n'existent pas dans l'autre. Ainsi, supposons que votre table Clients comporte 11 champs, et que les champs de la table Clients d'une autre base de données n'ait que 9 champs en commun avec votre table. Vous pouvez utiliser une requête Ajout pour ajouter uniquement les données dans les champs correspondants et ignorer les autres.

N'oubliez pas que vous ne pouvez pas ajouter des requêtes pour modifier les données de champs spécifiques dans des enregistrements existants. Pour effectuer une telle opération, vous pouvez utiliser une requête de mise à jour. Les requêtes Ajout servent uniquement à ajouter des lignes de données.

Pour plus d'informations sur les requêtes Mise à jour, voir l'article Créer une requête Mise à jour. Pour des informations générales sur les modes d'ajout des enregistrements à une base de données ou de modification des données existantes, voir l'article Ajouter un ou plusieurs enregistrements à une base de données.

Haut de la page Haut de la page

Créer et exécuter une requête Ajout

La procédure de création d'une requête Ajout contient les étapes de base suivantes :

  • Créez une requête Sélection,
  • Convertissez la requête Sélection en requête Ajout,
  • Choisissez les champs de destination pour chaque colonne dans la requête Ajout,
  • Exécutez la requête pour ajouter les enregistrements.

 Remarque   Étant donné qu'il est impossible d'annuler les résultats d'une requête Ajout, soyez vigilant. De plus, n'oubliez pas que les types de données définis pour les champs dans la table source doivent être compatibles avec ceux définis pour les champs dans la table de destination. Par exemple, vous pouvez ajouter des nombres à un champ de texte. En revanche, vous ne pouvez pas ajouter de texte à un champ numérique à moins d'utiliser une expression, telle que (Val(ChampTexte)), et commencer par convertir les données en type Numérique.

Pour plus d'informations sur les types de données et leur mode d'utilisation, voir l'article Modifier le type de données défini pour un champ.

Créer une requête Sélection

  1. Ouvrez la base de données qui contient les enregistrements à ajouter.
  2. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création de requête.

Le Concepteur de requêtes s'ouvre et la boîte de dialogue Afficher la table s'affiche.

  1. Sélectionnez toute combinaison de tables ou de requêtes contenant les enregistrements à ajouter, cliquez sur Ajouter, puis cliquez sur Fermer.

Les tables ou les requêtes apparaissent sous la forme d'une seule ou de plusieurs fenêtres dans la section supérieure de la grille de création. Ces fenêtres répertorient tous les champs de chaque table ou requête. Cette illustration montre une table classique dans le Concepteur de requêtes.

Table dans le Concepteur de requêtes

  1. Double-cliquez sur les champs à ajouter. Les champs sélectionnés apparaissent dans la ligne Champ de la grille de création (section inférieure du Concepteur de requêtes).

Vous pouvez ajouter une expression, telle que =Date() pour un renvoi automatique de la date du jour. Vous pouvez aussi ajouter la table ou les champs de requête aux cellules dans la grille de création. Vous pouvez ajouter un champ de table ou de requête par cellule.

Pour ajouter rapidement tous les champs d'une table, double-cliquez sur l'astérisque (*) en haut de la liste des champs de table. Cette illustration montre la grille de création avec tous les champs ajoutés.

Requête avec tous les champs de table ajoutés

  1. Vous pouvez éventuellement entrer un ou plusieurs critères dans la ligne Critères de la grille de création. Le tableau suivant répertorie certains exemples et explique leur effet sur une requête.
Critères Effet
> 234 Renvoie tous les nombres supérieurs à 234. Pour rechercher tous les nombres inférieurs à 234, utilisez < 234.
>= "Callahan" Renvoie tous les enregistrements de Callahan à la fin de l'alphabet.
Entre #02.02.07# Et #01.12.07# Renvoie les dates entre le 2-fév-07 et le 1-déc-07 (ANSI-89). Si votre base de données utilise les caractères génériques ANSI-92, utilisez des apostrophes (') au lieu des signes #. Exemple : Entre '2/2/2007' Et '12/1/2007'.
Pas "Allemagne" Recherche tous les enregistrements pour lesquels le contenu du champ n'est pas exactement égal à « Allemagne». Le critère renvoie les enregistrements qui contiennent des caractères en plus d'« Allemagne » tel qu'« Allemagne (Euro) » ou « Europe (Allemagne) ».
Pas "T*" Recherche tous les enregistrements hormis ceux commençant par T. Si votre base de données utilise le jeu de caractères génériques ANSI-92, utilisez le signe de pourcentage (%) à la place de l'astérisque (*).
Pas "*t" Recherche tous les enregistrements qui ne se terminent pas par t. Si votre base de données utilise le jeu de caractères génériques ANSI-92, utilisez le signe de pourcentage à la place de l'astérisque.
Dans(Canada,R-U) Dans une liste, recherche tous les enregistrements contenant Canada ou R-U.
Comme "[A-D]*" Dans un champ Texte, recherche tous les enregistrements commençant par les lettres A à D. Si votre base de données utilise le jeu de caractères génériques ANSI-92, utilisez le signe de pourcentage à la place de l'astérisque.
Comme "*ar*" Recherche tous les enregistrements comportant la séquence de lettres « ar ». Si votre base de données utilise le jeu de caractères génériques ANSI-92, utilisez le signe de pourcentage à la place de l'astérisque.
Comme "Maison Dewe?" Recherche tous les enregistrements commençant par « Maison » et contenant une deuxième chaîne de 5 lettres dont les 4 premières lettres sont « Dewe » et la dernière est inconnue (avec un point d'interrogation). Si votre base de données utilise le jeu de caractères génériques ANSI-92, utilisez le caractère de soulignement (_) à la place du point d'interrogation.
#02.02.07# Recherche tous les enregistrements du 2 février 2007. Si votre base de données utilise le jeu de caractères génériques ANSI-92, mettez la date entre apostrophes au lieu d'utiliser des signes #. Exemple : '2/2/2007'.
< Date( )- 30 Renvoie toutes les dates postérieures aux 30 derniers jours.
Date() Renvoie toutes les enregistrements contenant la date du jour.
Entre Date( ) Et AjDate("m", 3, Date( )) Renvoie tous les enregistrements compris entre la date du jour et les trois derniers mois.
Est Null Renvoie tous les enregistrements contenant une valeur Null (vide ou non définie).
Est Pas Null Renvoie tous les enregistrements contenant une valeur.
"" Renvoie tous les enregistrements contenant une chaîne vide. Les chaînes vides sont utilisées lorsqu'un champ rend obligatoire l'ajout d'une valeur, mais que la valeur n'est pas connue. Par exemple, un champ peut nécessiter la saisie d'un numéro de télécopie. Or, si certains de vos clients ne possèdent pas de télécopieur, vous pouvez taper deux guillemets droits sans espace entre eux ("") à la place d'un numéro.
  1. Sous l'onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
  1. Vérifiez que la requête a renvoyé les enregistrements que vous souhaitez mettre à jour. Si vous devez ajouter ou supprimer des champs dans la requête, repassez en mode Création et ajoutez des champs, comme décrit à l'étape précédente. Vous pouvez aussi sélectionner les champs dont vous n'avez plus besoin puis appuyez sur SUPPR pour les supprimer de la requête.
  2. Passez à la procédure suivante qui explique comment convertir la requête Sélection en requête Ajout.

Convertir la requête Sélection en requête Ajout

  1. Cliquez avec le bouton droit sur l'onglet de document correspondant à la requête ouverte, puis cliquez sur Mode Création dans le menu contextuel.

- ou -

Dans le volet de navigation, cliquez avec le bouton droit sur la requête, puis cliquez sur Mode Création.

  1. Sous l'onglet Créer, dans le groupe Type de requête, cliquez sur Ajout.

La boîte de dialogue Ajout s'affiche.

  1. Vous pouvez alors ajouter des enregistrements d'une table à l'autre dans la même base de données ou d'une table à l'autre dans une autre base de données.

 Remarque   Si vous souhaitez copier des enregistrements vers une nouvelle table, vous devez utiliser une requête Création de table.

AfficherMontrez-moi comment créer une requête Création de table

  1. Suivez les étapes décrites dans cette section pour créer une requête Sélection. Modifiez la requête Sélection de façon à ce qu'elle renvoie les enregistrements que vous souhaitez insérer dans la table nouvelle.
  2. Basculez vers la requête en mode Création. Cliquez avec le bouton droit sur l'onglet de document pour la requête, puis cliquez sur Mode Création

- ou -

Cliquez avec le bouton droit sur la requête dans le volet de navigation, puis cliquez sur Mode Création.

  1. Sous l'onglet Créer, dans le groupe Type de requête, cliquez sur Création de table.

La boîte de dialogue Création de table s'affiche.

  1. Dans la liste déroulante Nom de la table, entrez le nom de la nouvelle table.
  2. Effectuez l'une des opérations suivantes :
    • Placez la nouvelle table dans la base de données ouverte,
      • Maintenez l'option Base de données en cours sélectionnée et cliquez sur OK,
    • Placez la table nouvelle dans une autre base de données,
  1. Cliquez sur Autre base de données,
  2. Entrez le chemin d'accès et le nom de l'autre base de données ou cliquez sur Parcourir pour la trouver, puis cliquez sur OK après avoir identifié l'emplacement de la base de données.
  3. Dans la liste déroulante Nom de la table, entrez le nom de la nouvelle table.
  4. Cliquez sur OK.

Une fois la requête convertie, vous devez décider si vous souhaitez ajouter les enregistrements à une table dans la même base de données ou à une table dans une autre base de données. En fonction de votre choix, suivez les étapes de l'une des deux procédures suivantes :

    Ajouter les enregistrements à une table dans la même base de données

    1. Dans la boîte de dialogue Ajout, cliquez sur Base de données actuelle (si cette option n'est pas déjà activée), puis sélectionnez la table de destination dans la liste déroulante Nom de la table.
    2. Cliquez sur OK.

Le résultat qui s'affiche à l'écran dépend de votre mode de création de la requête Sélection. Par exemple, si vous avez ajouté tous les champs de votre table source ou requête, Access ajoute tous les champs de la table de destination à la ligne Ajouter à dans la grille de création.

- ou -

Si vous avez ajouté des champs spécifiques à la requête et que leurs noms dans les tables source et de destination concordent, Access ajoute automatiquement les noms des champs de destination à la ligne Ajouter à de la requête.

- ou -

Si vous avez ajouté des champs spécifiques et que leurs noms dans les tables source et de destination ne concordent pas, Access les laisse vides. Vous pouvez cliquer sur une cellule de la ligne Ajouter à et sélectionner un champ de destination.

Cette illustration montre comment cliquer sur une cellule de la ligne Ajouter à et sélectionner un champ de destination.

Liste déroulante dans ligne Ajouter à

 Remarque   Si vous laissez le champ de destination vide, la requête n'y ajoutera pas de données.

  1. Pour afficher un aperçu de vos modifications, basculez vers le mode Feuille de données. Pour ce faire, cliquez avec le bouton droit sur l'onglet de document pour la requête, puis cliquez sur Mode Feuille de données.

- ou -

Dans le volet de navigation, cliquez avec le bouton droit sur la requête, puis cliquez sur Mode Feuille de données.

  1. Revenez en mode Création, puis cliquez sur ExécuterImage du bouton pour ajouter les enregistrements.

Rappel     Vous ne pouvez pas annuler les résultats d'une requête Ajout, alors vérifiez bien si vous souhaitez effectivement ajouter les enregistrements.

    Ajouter des enregistrements à une table d'une autre base de données

    1. Dans la boîte de dialogue Ajout, cliquez sur Autre base de données.
    2. Dans la zone Nom de fichier, tapez l'emplacement et le nom de la base de données de destination.
    3. Dans la liste déroulante Nom de la table, tapez le nom de la table de destination, puis cliquez sur OK.

– ou –

Cliquez sur Parcourir puis, dans la prochaine boîte de dialogue Ajout, recherchez la base de données de destination. Une fois la base de données de destination localisée et sélectionnée, cliquez sur OK. La prochaine boîte de dialogue Ajout se referme. Dans la première boîte de dialogue Ajout, dans la liste déroulante Nom de la table, entrez le nom de la table de destination, puis cliquez sur OK.

Le résultat qui s'affiche à l'écran dépend de votre mode de création de la requête Sélection. Par exemple, si vous avez ajouté tous les champs de votre table source ou requête, Access ajoute tous les champs de la table de destination à la ligne Ajouter à dans la grille de création.

- ou -

Si vous avez ajouté des champs spécifiques à la requête et que leurs noms dans les tables source et de destination concordent, Access ajoute automatiquement les noms de champs de destination à la ligne Ajouter à de la requête.

- ou -

Si vous avez ajouté des champs spécifiques et que leurs noms dans les tables source et de destination ne concordent pas, Access les laisse vides. Vous pouvez cliquer sur une cellule de la ligne Ajouter à et sélectionner un champ de destination.

Cette illustration montre comment cliquer sur une cellule de la ligne Ajouter à et sélectionner un champ de destination.

Liste déroulante dans ligne Ajouter à

 Remarque   Si vous laissez le champ de destination vide, la requête n'y ajoutera pas de données.

  1. Revenez en mode Création (cliquez avec le bouton droit sur l'onglet en haut de la requête, puis cliquez sur Mode Création), puis cliquez sur ExécuterImage du bouton pour ajouter les enregistrements. Lorsque le système vous demande de confirmer l'opération, cliquez sur Oui.

Haut de la page Haut de la page

Empêcher le mode désactivé de bloquer une requête

Par défaut, si vous ouvrez une base de données enregistrée à un emplacement non approuvé ou si vous n'avez pas choisi d'approuver la base de données, Access empêche l'exécution de toutes les requêtes Action , à savoir les requêtes Ajout, Mise à jour, Suppression ou Création de table .

Si vous essayez d'exécuter une requête Action et que rien ne semble se produire, vérifiez si le message suivant s'affiche dans la barre d'état Access :

Le mode désactivé a bloqué cette action ou cet événement.

A l'affichage de ce message, procédez comme suit :

Activer le contenu bloqué.

  • Dans la barre des messages, cliquez sur Options.

La boîte de dialogue Options de sécurité Microsoft Office s'affiche.

  • Sélectionnez l'option Activer ce contenu, puis cliquez sur OK.
  • Exécutez votre requête à nouveau.

Si vous ne voyez pas la barre de messages.

  • Cliquez sur l'onglet Outils de base de données puis, dans Afficher/Masquer, cliquez sur Barre des messages.

Pour plus d'informations sur le mode désactivé et la sécurité Access, voir l'article Sécuriser une base de données Access 2007.

Haut de la page Haut de la page

 
 
S'applique à :
Access 2007