Créer et Exécuter une Requête Mise à Jour

Les requêtes Mise à jour sont utilisées dans les bases de données Access pour ajouter, modifier ou supprimer les informations contenues dans un enregistrement existant. Les requêtes Mise à jour peuvent être considérées comme une version améliorée de la boîte de dialogue Rechercher et remplacer. Vous ne pouvez pas utiliser une requête Mise à jour pour ajouter des enregistrements à une base de données, ni pour y supprimer des enregistrements.

Pour ajouter des enregistrements, utilisez une requête Ajout ; pour supprimer des enregistrements entiers, utilisez une requête Suppression.

Vue d’ensemble

Voici les similitudes et différences entre Rechercher et remplacer et une requête Mise à jour :

Comme la boîte de dialogue Rechercher et remplacer, une requête Mise à jour vous permet de spécifier la valeur à remplacer et la nouvelle valeur.

Contrairement à la boîte de dialogue Rechercher et remplacer, une requête Mise à jour vous permet d’effectuer les opérations suivantes :

  • utiliser des critères qui ne dépendent pas de la valeur que vous souhaitez remplacer ;
  • mettre à jour un grand nombre d’enregistrements en une seule fois ;
  • modifier des enregistrements dans plusieurs tables en même temps.

Restrictions concernant les champs pouvant être mis à jour

Vous ne pouvez pas utiliser une requête Mise à jour pour mettre à jour des données des types de champs suivants :

  • Champs calculés    Les valeurs dans des champs calculés ne résident pas de manière permanente dans des tables. Elles n’existent que dans la mémoire temporaire de votre ordinateur après qu’Access les a calculées. Les champs calculés ne possédant pas un emplacement de stockage permanent, vous ne pouvez pas les mettre à jour.
  • Champs d’une requête Totaux ou d’une requête Analyse croisée    Les valeurs de ces types de requêtes étant calculées, elles ne peuvent pas être mises à jour par une requête Mise à jour.
  • Champs NuméroAuto    De par leur conception, les valeurs des champs NuméroAuto changent uniquement lorsque vous ajoutez un enregistrement à une table.
  • Champs dans les requêtes de valeurs uniques et les requêtes d’enregistrements uniques    Les valeurs de telles requêtes sont résumées. Certaines des valeurs représentent un seul enregistrement, tandis que d’autres représentent plusieurs enregistrements. L’opération de mise à jour n’est pas possible car il est impossible de déterminer quels enregistrements ont été exclus en tant que doublons ; il est par conséquent impossible de mettre à jour tous les enregistrements nécessaires. Cette restriction s’applique si vous utilisez une requête Mise à jour ou si vous essayez de mettre à jour les données manuellement en entrant des valeurs dans un formulaire ou une feuille de données.
  • Champs dans une requête Union    Vous ne pouvez pas mettre à jour des données à partir des champs dans une requête Union, car chaque enregistrement qui apparaît dans plusieurs sources de données apparaît une seule fois dans le résultat de la requête Union. Dans la mesure où certains enregistrements en double sont supprimés des résultats, Access ne peut pas mettre à jour tous les enregistrements nécessaires.
  • Champs qui sont des clés primaires    Dans certains cas, par exemple si le champ de clé primaire est utilisé dans une relation de table, vous ne pouvez pas mettre à jour le champ à l’aide d’une requête, sauf si vous configurez tout d’abord la relation de façon à effectuer automatiquement les mises à jour en cascade.

    Remarque : Lorsque les mises à jour sont effectuées en cascade, Access met automatiquement à jour les valeurs de clés étrangères lorsque vous modifiez une valeur de clé primaire dans une table parent.

Utiliser une requête Mise à jour

Le meilleur moyen de créer une requête Mise à jour consiste à créer d’abord une requête Sélection qui identifie les enregistrements à mettre à jour, puis à convertir cette requête en une requête Mise à jour que vous pouvez exécuter pour mettre à jour les enregistrements. En sélectionnant d’abord les données, vous pouvez vérifier que vous mettez à jour les enregistrements souhaités avant de modifier réellement les données.

Conseil : Sauvegardez votre base de données avant d’exécuter une requête mise à jour. Vous ne pouvez pas annuler les résultats d’une requête mise à jour et faire une copie de sauvegarde permet de vous assurer que vous pouvez annuler vos modifications si vous changez d’avis.

Comment faire pour sauvegarder votre base de données

  1. Sous l’onglet Fichier, cliquez sur Enregistrer sous. Remarque : si vous utilisez Access 2010, cliquez sur l’onglet Fichier, puis sur Enregistrer et publier.
  2. Sur la droite, sous Avancé, cliquez sur Sauvegarder la base de données.
  3. Dans la boîte de dialogue Enregistrer la sauvegarde sous, spécifiez un nom et un emplacement pour la copie de sauvegarde, puis cliquez sur Enregistrer.

    Access ferme le fichier d’origine, crée une sauvegarde, puis rouvre le fichier d’origine.

    Pour rétablir une sauvegarde, fermez et renommez le fichier d’origine de sorte que la copie de sauvegarde puisse utiliser le nom de la version d’origine. Attribuez à la copie de sauvegarde le nom de la version d’origine, puis ouvrez la copie de sauvegarde ainsi renommée dans Access.

Étape 1 : Créer une requête Sélection pour identifier les enregistrements à mettre à jour

  1. Ouvrez la base de données qui contient les enregistrements à mettre à jour.
  2. Sous l’onglet Créer, dans le groupe Requêtes, cliquez sur Création de requête.

    Le Concepteur de requêtes s’ouvre, suivi de la boîte de dialogue Afficher la table.

  3. Cliquez sur l’onglet Tables.
  4. Sélectionnez les tables contenant les enregistrements à mettre à jour, cliquez sur Ajouter, puis sur Fermer.

    Les tables apparaissent sous la forme d’une ou plusieurs fenêtres dans le concepteur de requêtes, et la liste des champs de chaque table. La figure suivante illustre le concepteur de requêtes avec une table classique.

    Table du Concepteur de requêtes

    1. Table affichée dans le Concepteur de requêtes

    2. Grille de création de requête

  5. Double-cliquez sur les champs à mettre à jour dans les fenêtres de table. Les champs sélectionnés apparaissent sur la ligne Champ de la grille de création de requête.

    Vous pouvez ajouter un champ de table par colonne dans la grille de création.

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

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

  6. Pour limiter les résultats de requête en fonction des valeurs de champs, dans la grille de création de requête, sur la ligne Critères, entrez les critères à utiliser pour limiter les résultats.

    Tableau d’exemples de critères

    Le tableau suivant montre quelques exemples de critères et explique l’effet qu’ils ont sur les résultats d’une requête.

    Remarque : La plupart des exemples dans ce tableau utilisent des caractères génériques pour améliorer la flexibilité ou la puissance de la requête.

    Critères Effet
    >234 Renvoie tous les nombres supérieurs à 234. Pour rechercher tous les nombres inférieurs à 234, utilisez < 234.
    >=”Cajhen” Renvoie tous les enregistrements de Cajhen à la fin de l’alphabet.
    Entre #2/2/2020 # et #12/1/2020 # Renvoie les dates comprises entre le 2-fév-17 et le 1-déc-17 (ANSI-89). Si votre base de données utilise les caractères génériques ANSI-92, utilisez des apostrophes () au lieu des signes dièse (#). Par exemple: entre «2/2/2020» et «12/1/2020».
    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. 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 (?).
    #2/2/2020 # Recherche tous les enregistrements du 2 février 2020. Si votre base de données utilise le jeu de caractères génériques ANSI-92, entourez la date de guillemets simples (‘) au lieu de dièses (#); par exemple, (‘ 2/2/2020 ‘).
    < Date( )- 30 Utilise la fonction Date pour renvoyer toutes les dates postérieures aux 30 derniers jours.
    Date() Utilise la fonction Date pour renvoyer tous les enregistrements contenant la date du jour.
    Entre Date( ) Et AjDate(“m”, 3, Date( )) Utilise les fonctions Date et AjDate pour renvoyer tous les enregistrements situés entre la date du jour et les trois mois suivants.
    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 “” à la place d’un numéro.
  7. Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
  8. Vérifiez que la requête renvoie les enregistrements que vous souhaitez mettre à jour.
  9. Pour supprimer des champs que vous ne souhaitez pas inclure dans la structure de la requête, sélectionnez les champs et appuyez sur la touche Suppr.
  10. Pour des champs à inclure dans la structure de la requête, faites glisser les champs supplémentaires vers la grille de création de requête.

Étape 2 : Mettre à jour les enregistrements

  1. Sous l’onglet Créer, dans le groupe Type de requête, cliquez sur Mise à jour.

    Cette procédure montre comment modifier une requête Sélection en requête Mise à jour. Lorsque vous effectuez cette opération, Access ajoute la ligne Mise à jour dans la grille de création de requête. L’illustration suivante montre une requête Mise à jour qui renvoie tous les biens achetés après le 5 janvier 2005 et qui change l’emplacement de façon à utiliser « Entrepôt 3 » pour tous les enregistrements répondant aux critères.

    Requête Mise à jour avec un seul critère de mise à jour

  2. Recherchez le champ qui contient les données à modifier et tapez votre expression (vos critères de modification) sur la ligne Mise à jour de ce champ.

    Vous pouvez utiliser toute expression valide sur la ligne Mise à jour.

    Tableau d’exemples d’expressions

    Ce tableau illustre certains exemples d’expressions et explique comment ils modifient les données.

    Expression Résultat
       “Représentant” Dans un champ Texte, modifie une valeur texte en Représentant.
    #8/10/20 # Dans un champ date/heure, modifie une valeur de date en 10-août-20.
    Oui Dans un champ Oui/Non, modifie une valeur Non en valeur Oui.
    “PN” & [NuméroRéférence] Insère “PN” au début de chaque numéro de référence spécifié.
    [PrixUnitaire] * [Quantité] Multiplie les valeurs dans les champs PrixUnitaire et Quantité.
    [Transport] * 1,5 Augmente les valeurs dans un champ Transport de 50%.
    SomDom (“[quantité] * [PrixUnitaire]”,
    “Détails commandes”, “[RéfProduit] =” & [RéfProduit])
    Lorsque les valeurs RéfProduit de la table active correspondent aux valeurs RéfProduit de la table Détails commandes, cette expression met à jour le total des ventes en multipliant les valeurs d’un champ nommé Quantité par les valeurs d’un champ nommé PrixUnitaire. Cette expression utilise la fonction SomDom car elle peut fonctionner sur plusieurs tables ou champs de table.
    Droite([CodePostalEnvoi], 5) Tronque (supprime) les caractères les plus à gauche dans une chaîne de texte ou numérique, et laisse les cinq caractères les plus à droite.
    VraiFaux(EstNull([PrixUnitaire]), 0, [PrixUnitaire]) Modifie une valeur Null (inconnue ou indéfinie) en un zéro (0) dans un champ PrixUnitaire.
  3. Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.

    Un message d’alerte s’affiche.

  4. Pour exécuter la requête et mettre à jour les données, cliquez sur Oui.

    Remarque : Lorsque vous exécutez la requête, certains champs peuvent être exclus de votre jeu de résultats. Si votre requête comprend des champs que vous ne mettez pas à jour, par défaut Access ne les affiche pas dans les résultats. Par exemple, vous pourriez inclure des champs ID provenant de deux tables pour que votre requête identifie et mette à jour les enregistrements appropriés. Si vous ne mettez pas à jour ces champs ID, Access ne les affiche pas dans les résultats.

Mettre à jour les données d’une table à l’autre

Lorsque vous avez besoin de mettre à jour des données d’une table à une autre, pensez à la règle suivante : les données types pour les champs source et de destination doivent correspondance ou être compatibles.

En outre, lorsque vous mettez à jour des données d’une table à une autre et que vous utilisez des types de données compatibles plutôt que correspondants, Access convertit les types de données de ces champs dans la table de destination. Ceci explique la troncation (suppression) de certaines données dans les champs de destination. La section Restrictions liées aux conversions des types de données explique votre marge de manœuvre relative à la conversion des types de données. Le tableau de cette section explique également les circonstances dans lesquelles un type de données peut changer ou éliminer certaines, voire toutes les données d’un champ, et spécifie les données sujettes à élimination.

La procédure de mise à jour des données d’une table à l’autre est composée des grandes étapes suivantes :

  1. Créez une requête Mise à jour et ajoutez-y les tables source et de destination.
  2. Joignez ces tables sur les champs qui contiennent les informations associées.
  3. Ajoutez les noms de vos champs de destination pour la ligne Champ de la grille de création.
  4. Ajoutez les noms de vos champs source à la ligne Mise à jour de la grille de création en utilisant la syntaxe suivante : [table_source].[champ_source].

Les étapes décrites dans cette section supposent l’utilisation de deux tables semblables. Dans cet exemple, la table Clients se trouve dans une base de données que vous venez de récupérer ; elle comprend des données plus récentes que la table Consommateurs. Vous pouvez constater que les noms de certains supérieurs et certaines adresses ont changé. C’est pourquoi vous décidez de mettre à jour la table Consommateurs en utilisant les données de la table Clients.

Table Clients

Réf client Nom Adresse Ville Département Code postal Pays/Région Téléphone Coordonnées
1 Baldwin Museum of Science 7, place Beaubernard Saint-Denis NY 93200 France 01.12.34.56.01 Hervé Bouraima
2 Blue Yonder Airlines 52 avenue des anémones Valenciennes MA 59300 France 03.12.34.56.01 Patrice Dupont-Roc
3 Coho Winery 3122-moy. S.W. Toulouse WA 31051 France 05.12.34.56.01 Antoine Faisandier
4 Contoso Pharmaceuticals 1 Impasse des vallées Paris Île-de-France 75003 France 01.22.45.67.01 Zoltan Harmuth
5 Fourth Coffee 2, av. de Slovaquie Marseille 31020 France 04.01.23.78.01 Ariane Berthier
6 Consolidated Messenger 3123, avenue de Corée Toulouse WA 31051 France 05.12.34.56.02 Miles Reid
7 Graphic Design Institute 43 Av. Général de Gaulle Nice Alpes maritimes 06000 France 05.12.34.56.01 Tzipi Butnaru
8 Litware, Inc. 4, av. des États-Unis Brest OU 31415 France 03.12.34.56.01 Roger Dupont
9 Tailspin Toys 4, av. des États-Unis Brest OU 31415 France 03.12.34.56.01 Laurent Jabert

Table Consommateurs

Réf consommateur Nom Adresse Ville Département Code postal Pays ou région Téléphone Supérieur
1 Baldwin Museum of Science 7, place Beaubernard Saint-Denis NY 93200 France 01.12.34.56.01 Michel Cordani
2 Blue Yonder Airlines 52 avenue des anémones Valenciennes MA 59300 France 03.12.34.56.01 Patrice Dupont-Roc
3 Coho Winery 3122-moy. S.W. Toulouse WA 31051 France 05.12.34.56.01 Antoine Faisandier
4 Contoso Pharmaceuticals 1 Impasse des vallées Paris Île-de-France 75003 France 01.22.45.67.01 Zoltan Harmuth
5 Fourth Coffee 134 Grand Rue Marseille 31020 France 04.01.23.78.01 Ariane Berthier
6 Consolidated Messenger 3123, avenue de Corée Toulouse WA 31051 France 05.12.34.56.02 Jean-Charles Colon
7 Graphic Design Institute 67, av. du Mali Nice Alpes maritimes 06000 France 05.12.34.56.01 Marie Dubois
8 Litware, Inc. 4, av. des États-Unis Brest OU 31415 France 03.12.34.56.01 Jérôme Duchemin
9 Tailspin Toys 4, av. des États-Unis Brest OU 31415 France 03.12.34.56.01 Laurent Jabert

À mesure que vous continuez, n’oubliez pas que bien que la correspondance des types de données pour chaque champ de table ne soit pas obligatoire, leur compatibilité s’impose. Access doit pouvoir convertir les données de la table source en un type utilisable dans la table de destination. Dans certains cas, la conversion risque de supprimer certaines données. Pour plus d’informations sur les restrictions liées aux conversions des types de données, voir la section Restrictions liées aux conversions des types de données.

Créer et exécuter la requête Mise à jour

Remarque : Les étapes suivantes supposent l’utilisation des deux tables précédentes. Vous pouvez les personnaliser par rapport à vos données.

  1. Sous l’onglet Créer, dans le groupe Requêtes, cliquez sur Création de requête.
  2. Dans la boîte de dialogue Afficher la table, cliquez sur l’onglet Tables.
  3. Double-cliquez sur vos tables source et de destination pour les ajouter à la requête, puis cliquez sur Fermer. Chaque table s’affiche dans une fenêtre dans le Concepteur de requêtes.
  4. Dans la plupart des cas, Access joint automatiquement les champs associés dans une requête. Pour joindre manuellement des champs qui contiennent des informations connexes, faites glisser le champ associé d’une table vers le champ équivalent dans l’autre table.

    Par exemple, si vous utilisez les tables mentionnées dans les exemples ci-dessus, vous faites glisser le champ Réf Client sur le champ Réf Consommateur. Access crée alors une relation entre ces champs dans les deux tables et s’en sert pour joindre tous les enregistrements associés.

  5. Sous l’onglet Créer, dans le groupe Type de requête, cliquez sur Mise à jour.
  6. Dans la table de destination, double-cliquez sur les champs à mettre à jour. Chaque champ apparaît dans la ligne Champ de la grille de création.

    Si vous utilisez ces exemples de tables, vous ajoutez tous les champs à l’exception du champ Réf Consommateur. Notez que le nom de la table de destination s’affiche dans la ligne Table de la grille de création.

  7. Sur la ligne Mise à jour de la requête, dans chacune des colonnes contenant un champ de destination, ajoutez le nom de la table source et le champ de cette table correspondant à celui de la table de destination. Assurez-vous aussi d’utiliser la syntaxe suivante : [Table].[Champ], où la table et les noms de champs sont placés entre crochets et séparés par des virgules.

    Cette illustration montre une partie de la grille de création, avec les exemples de tables ci-dessus. Retenez la syntaxe pour la table et les noms de champs dans la ligne Mise à jour.

    Requête qui met à jour une table avec les données d'une autre table

    À mesure que vous continuez, n’oubliez pas que l’orthographe des noms de tables et de champs doit être correcte sur la ligne Mise à jour et que vous devez respecter la ponctuation des noms de tables et de champs d’origine. Ceci dit, le respect des majuscules n’est pas obligatoire.

  8. Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
  9. Lorsque le système vous demande de confirmer la mise à jour, cliquez sur Oui.

Restrictions liées aux conversions des types de données

Le tableau suivant répertorie les types de données fournis dans Access, explique les restrictions liées aux conversions des types de données et décrit brièvement les pertes de données éventuelles en cours de conversion.

Conversion du type En type Modifications ou restrictions
Texte Mémo Access les supprime tous à l’exception des 255 premiers caractères.
Numérique Aucune restriction.
Date/Heure Aucune restriction.
Monnaie Aucune restriction.
NuméroAuto Aucune restriction.
Oui/Non La valeur -1 (Oui dans un champ Oui/Non) est convertie en Oui. La valeur 0 (Non dans un champ Oui/Non) est convertie en Non.
Lien hypertexte Access tronque les liens au-delà des 255 premiers caractères.
Mémo Texte Aucune restriction.
Numérique Aucune restriction.
Date/Heure Aucune restriction.
Monnaie Aucune restriction.
NuméroAuto Aucune restriction.
Oui/Non La valeur -1 (Oui dans un champ Oui/Non) est convertie en Oui. La valeur 0 (Non dans un champ Oui/Non) est convertie en Non.
Lien hypertexte Aucune restriction.
Numérique Texte Le texte doit comprendre des nombres, des monnaies valides et des séparateurs décimaux. Le nombre de caractères dans le champ Texte doit être compris dans la fourchette définie pour le champ Numérique.
Mémo Le champ Mémo doit comprendre uniquement du texte, des monnaies valides et des séparateurs décimaux. Le nombre de caractères dans le champ Mémo doit être compris dans la fourchette définie pour le champ Numérique.
Nombre avec une taille de champ ou une précision différente Les valeurs ne doivent pas être supérieures ou inférieures à la nouvelle taille de stockage des champs. La modification de la précision risque de se solder par l’arrondi de certaines valeurs dans Access.
Date/Heure Les dates convertibles dépendent de la taille du champ numérique. N’oubliez pas qu’Access stocke toutes les dates sous forme de dates de série et qu’il stocke les valeurs de date sous forme d’entiers à virgule flottante en double précision.

Access utilise le 30 décembre 1899 comme date 0. Les dates non comprises entre le 18 avril 1899 et le 11 septembre 1900 dépassent la taille d’un champ Octet. Les dates non comprises entre le 13 avril 1810 et le 16 septembre 1989 dépassent la taille d’un champ Entier.

Pour accepter un maximum de dates, définissez la propriété Taille du champ de votre champ Numérique sur la valeur Entier long ou une valeur supérieure.

Monnaie Les valeurs ne doivent pas être supérieures (ou inférieures) à la taille limite définie pour ce champ. Par exemple, vous pouvez convertir un champ Monnaie en champ Entier uniquement si ces valeurs sont comprises entre 255 et 32 767.
NuméroAuto Les valeurs doivent être comprises dans la taille limite définie pour le champ.
Oui/Non Les valeurs Oui sont converties en -1. Les valeurs Non sont converties en 0.
Date/Heure Texte Le texte d’origine doit être une date reconnaissable ou une combinaison de date/heure. Par exemple, 18-Jan-2020.
Mémo Le texte d’origine doit être une date reconnaissable ou une combinaison de date/heure. Par exemple, 18-Jan-2020.
Numérique La valeur doit être comprise entre -657 434 et 2 958 465,99998843.
Monnaie La valeur doit être comprise entre -$657 434 et $2 958 465,9999.
NuméroAuto La valeur doit être supérieure à -657 434 et inférieure à 2 958 466.
Oui/Non La valeur -1 (Oui) est convertie en 29 décembre 1899. La valeur 0 (Non) est convertie en heure pour indiquer minuit (12:00 AM).
Monnaie Texte Le texte doit comprendre des nombres et des séparateurs valides.
Mémo Le texte doit comprendre des nombres et des séparateurs valides.
Numérique Aucune restriction.
Date/Heure Aucune restriction, mais Access risque d’arrondir la valeur
NuméroAuto Aucune restriction.
Oui/Non La valeur -1 (Oui) est convertie en $1 et la valeur 0 (Non) est convertie en 0$.
NuméroAuto Texte Interdit si le champ NuméroAuto sert de clé primaire.
Mémo Interdit si le champ NuméroAuto sert de clé primaire.
Numérique Interdit si le champ NuméroAuto sert de clé primaire.
Date/Heure Interdit si le champ NuméroAuto sert de clé primaire.
Monnaie Interdit si le champ NuméroAuto sert de clé primaire.
Oui/Non Interdit si le champ NuméroAuto sert de clé primaire.
Oui/Non Texte Le texte d’origine doit comprendre uniquement les valeurs Oui, Non, Vrai, Faux, Activé ou Désactivé.
Mémo Le texte d’origine doit comprendre uniquement les valeurs Oui, Non, Vrai, Faux, Activé ou Désactivé.
Numérique La valeur Zéro ou Null est convertie en Non, toutes les autres valeurs sont converties en Oui.
Date/Heure La valeur Null ou 12:00:00 AM est convertie en Non, toutes les autres valeurs sont converties en Oui.
Monnaie Les valeurs Zéro et Null sont converties en Non, toutes les autres valeurs sont converties en Oui.
NuméroAuto Toutes les valeurs sont converties en Oui.
Lien hypertexte Texte Si le texte d’origine contient une adresse Web valide telle que adatum.comwww.adatum.comou http://www.adatum.com , Access convertit le texte en lien hypertexte. Access tente de convertir d’autres valeurs, ce qui signifie que vous voyez le texte souligné et que le curseur se transforme lorsque vous pointez sur le lien, mais les liens ne fonctionnent pas. Le texte peut contenir n’importe quel protocole Web valide, dont http://, gopher://, telnet://, ftp://et wais://.
Mémo Reportez-vous à l’entrée précédente. Les mêmes restrictions s’appliquent.
Numérique Interdit lorsqu’un champ Numérique fait partie d’une relation. Si la valeur d’origine figure dans le formulaire d’une adresse IP valide (quatre groupes de trois chiffres séparés par un point : nnn.nnn.nnn.nnn) et si les nombres coïncident avec une adresse web, un lien valide résultera de la conversion. Sinon, Access insère http:// devant chaque valeur et les liens qui s’affichent alors ne sont pas valides.
Date/Heure Access insère http:// devant chaque adresse, mais les liens qui s’affichent ne fonctionnent pratiquement jamais.
Monnaie Access insère http:// devant chaque valeur, mais comme pour les dates, les liens qui s’affichent ne fonctionnent pratiquement jamais.
NuméroAuto Interdit lorsque le champ NuméroAuto fait partie d’une relation. Access insère http:// devant chaque valeur, mais les liens qui s’affichent ne fonctionnent pratiquement jamais.
Oui/Non Access convertit toutes les valeurs Oui en -1 et toutes les valeurs Non en 0, il insère http:// devant chaque valeur. Les liens affichés ne fonctionnent pas.

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

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.

Par défaut, Access désactive toutes les requêtes action (mettre à jour, ajouter, supprimer ou créer des requêtes de table), sauf si votre base de données est dans un emplacement approuvé ou s’il est signé et approuvé. Si vous n’avez pas effectué l’une de ces actions, vous pouvez toujours activer la requête associée à la session de base de données en cliquant sur activer le contenu dans la barre des messages.

Version SQL : instruction UPDATE

Si vous n’avez pas de difficulté à travailler avec SQL, vous pouvez également écrire une instruction UPDATE à l’aide du mode SQL. Pour utiliser le mode SQL, créez une requête vide, puis basculez en mode SQL.

Cette section présente la syntaxe et un exemple d’instruction UPDATE.

Syntaxe

UPDATE table    SET nouvelle_valeur    WHERE critères;

L’instruction UPDATE comprend les éléments suivants :

Élément Description
table Nom de la table qui contient les données à modifier.
nouvelle_valeur Expression qui détermine la valeur à insérer dans un champ particulier dans les enregistrements mis à jour.
critères Expression qui détermine quels enregistrements sont mis à jour. Seuls les enregistrements correspondant à l’expression sont mis à jour.

Remarques

L’instruction UPDATE est particulièrement utile lorsque vous souhaitez modifier de nombreux enregistrements ou que les enregistrements que vous souhaitez modifier résident dans plusieurs tables.

Vous pouvez modifier plusieurs champs simultanément. L’exemple suivant augmente les valeurs de OrderAmount de 10 pour cent et les valeurs de Freight de 3 pour cent pour les transporteurs résidant au Royaume-Uni (UK) :

UPDATE Orders

SET OrderAmount = OrderAmount * 1.1,

Freight = Freight * 1.03

WHERE ShipCountry = ‘UK’;