Requêtes paramétrées
Présentation
Une requête paramétrée est une requête à laquelle il manque une valeur dans un critère. Le mot "manquant" ici semble négatif pour indiquer quelque chose de mauvais dans la requête mais ce n'est pas le cas. La requête est créée exprès comme ça pour qu'une valeur soit fournie à son filtre. Au moment de la création de la requête, le filtre est configuré d'une certaine manière.
Une requête paramétrée est une requête à laquelle il manque une valeur dans un critère. Le mot "manquant" ici semble négatif pour indiquer quelque chose de mauvais dans la requête mais ce n'est pas le cas. La requête est créée exprès comme ça pour qu'une valeur soit fournie à son filtre. Au moment de la création de la requête, le filtre est configuré d'une certaine manière. Lorsque la requête est exécutée, la valeur manquante doit être fournie pour compléter le critère, puis la requête est terminée et le résultat de la requête est produit. La plupart du temps, une requête paramétrée est créée, l'utilisateur doit donc spécifier le ou les enregistrements spécifiques à produire.
Bien que nous ayons précisé que la requête est paramétrée, c'est en fait l'instruction SQL qui est paramétrée. Cela signifie que vous pouvez créer une expression SQL utilisée comme source d'enregistrement d'un formulaire ou d'un état, mais obliger l'utilisateur à fournir les informations manquantes afin que le formulaire ou l'état n'affiche que les enregistrements qui utilisent cette valeur.
Apprentissage pratique :Présentation des requêtes paramétrées
- Démarrer Microsoft Access
- Dans la liste des fichiers, cliquez sur Altair Realtors3 de la leçon précédente
- Sur le ruban, cliquez sur Créer, puis sur Conception de requête
- Dans la boîte de dialogue Afficher la table, cliquez sur Propriétés, sur Ajouter, puis sur Fermer
- Dans la liste du haut, double-cliquez sur PropertyNumber, PropertyType, City, Bedrooms, Bathrooms, FinishedBasement, IndoorGarage, Condition et MarketValue
- Pour voir les résultats, dans la barre d'état, cliquez sur le bouton Feuille de données
- Si nécessaire, dans le ruban, cliquez sur Accueil.
Modifiez les caractéristiques suivantes :
Nom de la police :Calisto MT (si vous n'avez pas cette police, sélectionnez Times New Roman)
Couleur d'arrière-plan :vert, accent 6, plus clair 40 % (couleurs du thème :10e colonne, 4e rangée)
Couleur de ligne alternative :vert, accent 6, plus clair 80 % (couleurs du thème :10e colonne, 2e ligne) - Après avoir affiché le résultat, dans la section Vues du ruban, cliquez sur la flèche sous le bouton Afficher et cliquez sur Affichage SQL
- Modifiez l'instruction SQL comme suit :
SELECT Properties.PropertyNumber, Properties.PropertyType AS [Property Type], Properties.City, Properties.Bedrooms AS Beds, Properties.Bathrooms AS Baths, Properties.FinishedBasement AS [Basement?], Properties.IndoorGarage AS [Garage?], Properties.Condition, Properties.MarketValue AS [Market Value] FROM Properties;
- Afficher le mode Création de la requête
Création d'une requête paramétrée
Lors de la création d'une requête paramétrée, vous devez lui fournir un paramètre. Pour continuer, ouvrez la requête en mode Création et sélectionnez les colonnes nécessaires. Dans la zone Critères du champ qui contiendra les critères, tapez les crochets []. À l'intérieur des parenthèses, entrez tout ce que vous voulez, comme un message ou une question. Le message ou la question sera présenté à l'utilisateur qui devra saisir une valeur dans une zone de texte. Une fois que l'utilisateur a fourni la valeur et cliqué sur OK ou appuyé sur Entrée, la requête s'exécuterait.
Apprentissage pratique :Création d'une expression SQL paramétrée
- Cliquez sur la case Critères pour la colonne PropertyNumber et saisissez :[Entrez le numéro de propriété à afficher :]
- Passez la requête en mode Feuille de données pour afficher le résultat
- Entrez le numéro de propriété sous la forme 192703
- Cliquez sur OK
- Revenir à la vue Conception
- Supprimer [Entrez le numéro de propriété à afficher :]
- Cliquez sur la case Critères pour la colonne Type de propriété et saisissez :[Entrez le type de propriété que vous souhaitez voir :]
- Passez la requête en mode Feuille de données pour afficher le résultat
- Entrez le type de propriété comme maison de ville
- Appuyez sur Entrée
- Revenir à la vue Conception
Conjonction Paramétrée
Vous pouvez créer une requête paramétrée qui pose deux questions ou plus qui doivent être combinées pour terminer la requête. Pour cela, dans le Mode Conception de la requête, saisissez un message pour la case Critères de chaque colonne.
Apprentissage pratique :Création d'une disjonction paramétrée
- Cliquez sur la case Critères pour la colonne Chambres et saisissez [Combien de chambres avez-vous besoin ?]
- Passez la requête en mode Feuille de données pour afficher le résultat
- Entrez le type de propriété en tant que famille unifamiliale et appuyez sur Entrée
- Entrez le nombre de chambres comme 5 et appuyez sur Entrée
- Revenir à la vue Conception
- Supprimer [Combien de chambres avez-vous besoin ?]
Disjonction paramétrée
Une disjonction paramétrée demande deux valeurs ou plus. La requête produit tous les enregistrements qui incluent l'une des valeurs. Pour créer une telle requête paramétrée, ajoutez la première question ou le premier message dans la zone Critères du champ souhaité. Ajoutez ensuite le deuxième message ou question à la zone Ou de la même colonne. Si vous avez besoin de valeurs supplémentaires, saisissez leurs questions ou messages dans les cases sous la cellule Ou de la même colonne.
Apprentissage pratique :Création d'une disjonction paramétrée
- Cliquez sur la case Ou de la colonne Type de propriété et saisissez [Quel autre type de propriété souhaitez-vous voir ?]
- Passez la requête en mode Feuille de données pour afficher le résultat
- Entrez le premier type de propriété comme maison de ville et appuyez sur Entrée
- Entrez le deuxième type de propriété comme single family et appuyez sur Entrée
- Fermer la requête sans l'enregistrer
Requêtes d'action
Présentation
Microsoft Access fournit des requêtes prêtes à l'emploi qui vous permettent d'exécuter des actions semi-complexes sur des tables existantes. Les actions sont exécutées sous forme de requêtes. Lorsque vous utilisez une requête action, vous ne créez pas une requête régulière au sens strict. La plupart de ces requêtes ne sont généralement utiles qu'une seule fois. Pour cette raison, vous n'aurez guère besoin de les sauvegarder.
La requête Créer une action de table
Au lieu de créer d'abord une table puis de la remplir avec des valeurs, si vous avez déjà des valeurs stockées dans une table, Microsoft Access vous permet de créer une nouvelle table remplie de valeurs à partir de cette table.
À l'aide de requêtes, vous pouvez utiliser deux techniques principales pour créer une nouvelle table pour votre base de données. Microsoft Access fournit une technique appelée Make Table Query. Ce type de requête est utilisé pour récupérer tout ou partie des champs d'une table existante et, au lieu de créer une nouvelle requête qui dépend d'une table existante, vous obtiendriez une toute nouvelle table, indépendante de toute table existante. Ce type d'action peut vous permettre de créer un nouveau tableau basé sur une règle appliquée à un tableau existant.
Pour créer une table à l'aide d'une requête Microsoft Access, démarrez une nouvelle requête en mode Création. Ensuite, dans la section Type de requête du ruban, cliquez sur le bouton Créer une table . Cela vous présenterait une boîte de dialogue Créer une table qui vous permet de spécifier un nouveau nom pour la requête ou de sélectionner une table existante qui recevrait les nouvelles données.
Apprentissage pratique :Utilisation des requêtes Make-Table
- La base de données Altair Realtors3 devrait toujours être ouverte.
Dans le ruban, cliquez sur Créer et, dans la section Requêtes, cliquez sur Conception de requête - Dans la boîte de dialogue Afficher les tables, cliquez sur Propriétés, sur Ajouter, puis sur Fermer
- Dans la section Type de requête du ruban, cliquez sur le bouton Créer une table
- Dans la zone de liste déroulante Nom de la table, saisissez Condominiums comme nom de table
- Assurez-vous que le bouton radio Base de données actuelle est sélectionné et cliquez sur OK
- Dans la liste Propriétés, double-cliquez sur PropertyNumber, PropertyType, City, Locality, State, Bedrooms, Bathrooms, FinishedBasement, IndoorGarage, Condition et MarketValue
- En bas de la fenêtre, cliquez sur la case Critères pour la colonne PropertyType et saisissez condominium
- Cliquez sur la case à cocher Afficher pour supprimer la coche
- Pour créer le tableau, dans le ruban, cliquez sur le bouton Exécuter
- Vous recevrez un message
- Lisez-le et cliquez sur Oui
- Fermer la requête sans l'enregistrer
- Dans le volet de navigation, double-cliquez sur le tableau Condominiums
- Fermer le tableau
La requête de mise à jour
Si vous avez une longue liste et que de nombreux enregistrements doivent recevoir une modification commune, vous pouvez créer une requête spéciale nommée Mettre à jour la requête. Une requête de mise à jour vous permet de modifier les valeurs existantes d'une ou plusieurs colonnes d'une table. En d'autres termes, vous pouvez récupérer les valeurs qui sont déjà dans les champs d'une table, modifier ces valeurs et enregistrer la table avec elles.
Pour créer une requête d'ajout, démarrez une requête dans la vue de conception. Dans la section Type de requête du ruban, cliquez sur le bouton Mettre à jour . Lors de la création de la requête, vous devrez définir une condition que Microsoft Access appliquera à une table pour savoir quel(s) enregistrement(s) doit(ont) être mis à jour. Pour ce faire, vous utilisez la case Critères d'une colonne, comme nous l'avons appris lors de l'analyse des données.
Apprentissage pratique :mise à jour des enregistrements
- Ouvrez la base de données Metro System1 de la leçon 18
- Dans le volet de navigation, double-cliquez sur la table Silver Line pour afficher ses enregistrements.
- Fermer le tableau
- Dans le ruban, cliquez sur Créer et, dans la section Requêtes, cliquez sur Conception de requête
- Dans la boîte de dialogue Afficher les tables, cliquez sur Silver Line, cliquez sur Ajouter, puis cliquez sur Fermer
- Dans la section Type de requête du ruban, cliquez sur le bouton Mettre à jour
- Dans la liste du haut, double-cliquez sur MetroLine
- En bas de la fenêtre, cliquez sur la case Critères de la colonne MetroLine et saisissez Argent
- Pour exécuter l'action, sur le ruban, cliquez sur le bouton Exécuter
- Vous recevrez une boîte de message
- Fermer la requête sans l'enregistrer
- Dans le volet de navigation, double-cliquez sur le tableau Silver Line pour l'examiner.
- Fermer le tableau
Une requête d'ajout
Si vous avez une table avec un nombre important d'enregistrements et que vous devez ajouter ces enregistrements à une autre table, le travail peut devenir écrasant. Microsoft Access fournit une fonctionnalité pour créer une requête spéciale qui peut être utilisée pour ajouter plusieurs enregistrements à une table en une seule étape.
Une requête d'ajout vous permet d'ajouter des enregistrements à une table existante, mais vous ne créez pas les enregistrements. Ils doivent être extraits d'une table et ajoutés à une autre table.
Pour créer une requête d'ajout, démarrez une requête dans la vue de conception. Dans la section Type de requête du ruban, cliquez sur le bouton Ajouter . Une boîte de dialogue s'affichera vous demandant soit de sélectionner la table à laquelle vous ajouterez les enregistrements, soit de spécifier le nom d'une nouvelle table qui recevra les enregistrements. Si vous souhaitez ajouter les enregistrements à une table existante, vous pouvez la sélectionner dans la liste déroulante.
Comme vous pouvez l'imaginer, ajouter un enregistrement consiste à ajouter un enregistrement à une table. Si vous voulez le faire en SQL, créez simplement un INSERT déclaration.
Apprentissage pratique :Ajout d'enregistrements
- La base de données Metro System1 devrait toujours être ouverte.
Dans le volet de navigation, double-cliquez sur le tableau MetroStations et faites défiler complètement vers le bas dans la liste - Notez qu'il n'y a pas de stations pour la ligne Silver.
Fermer le tableau - Sur le ruban, cliquez sur Créer et, dans la section Requêtes, cliquez sur Conception de requête
- Dans la boîte de dialogue Afficher la table, cliquez sur Silver Line, cliquez sur Ajouter, puis cliquez sur Fermer
- Dans la section Type de requête du ruban, cliquez sur le bouton Ajouter
- Dans la boîte de dialogue Ajouter, cliquez sur la flèche de la zone de liste déroulante Nom de la table et sélectionnez Stations de métro
- Cliquez sur OK
- Dans la liste du haut, double-cliquez sur StationNumber, StationName, MetroLine et Location
- Pour exécuter la requête, dans le ruban, cliquez sur le bouton Exécuter
- Lisez le message :
- Fermer la requête sans l'enregistrer
- Dans le volet de navigation, double-cliquez sur le tableau MetroStations et faites défiler complètement la liste vers le bas
- Notez qu'il contient maintenant des stations pour la ligne Silver.
Fermer le tableau
La requête de suppression
Si vous avez quelques enregistrements qui doivent être supprimés d'une table, Microsoft Access fournit diverses techniques pour supprimer ces enregistrements. Pour supprimer un groupe d'enregistrements en une seule action, vous pouvez créer une requête spéciale appelée requête de suppression.
Comme toutes les autres requêtes d'action, une requête de suppression vous permet de sélectionner les champs nécessaires d'une table. La première différence entre ceci et la requête de sélection est que la requête de suppression, comme toutes les autres requêtes d'action, sélectionne ou prend en compte tous les champs, même ceux que vous n'incluez pas dans votre instruction. Les autres colonnes sont celles qui seraient utilisées pour spécifier les règles selon lesquelles un enregistrement doit être supprimé.
Vous pouvez utiliser un critère ou plusieurs critères pour définir la règle à suivre afin de supprimer un (des) enregistrement(s). Comme la plupart des autres requêtes d'action, l'action d'une requête de suppression est irréversible.
Apprentissage pratique :suppression d'enregistrements de base de données
- La base de données Metro System1 devrait toujours être ouverte.
Dans le volet de navigation, double-cliquez sur le tableau MetroStations pour l'ouvrir - Faites défiler vers le bas et remarquez que certaines stations sont pour la ligne Maroon, mais nous savons qu'il n'y a pas de ligne de métro Maroon
- Fermer le tableau MetroStations
- Sur le ruban, cliquez sur Créer et, dans la section Requêtes, cliquez sur Conception de requête
- Dans la boîte de dialogue Afficher les tables, cliquez sur MetroStations, cliquez sur Ajouter, puis cliquez sur Fermer
- IDans la section Type de requête du ruban, cliquez sur le bouton Supprimer
- Dans la liste du haut, double-cliquez sur MetroLine
- En bas, cliquez sur la case Critères de la colonne et saisissez marron
- Pour exécuter l'action, sur le ruban, cliquez sur le bouton Exécuter
- Vous recevrez une boîte de message
- Lisez-le et cliquez sur Oui
- Dans le volet de navigation, double-cliquez sur le tableau MetroStations pour l'ouvrir
- Faites défiler vers le bas et remarquez qu'il n'y a plus de stations marron
- Fermer le tableau MetroStations
- Fermer le tableau
Opérations spéciales sur les requêtes
Fusionner les enregistrements de plusieurs tables
Si vous avez plusieurs tables, vous pouvez créer une requête qui combine leurs enregistrements afin que vous puissiez examiner ces enregistrements lorsqu'ils sont assemblés. Pour vous aider, le SQL fournit un opérateur nommé UNION . La formule principale pour l'utiliser est :
SELECT columns-names FROM table-name1 UNION [ALL] SELECT columns-names FROM table-name2
Thyis équivaut à créer deux SELECT déclarations. Chacun contient des colonnes et un tableau. Les deux instructions doivent contenir le même nombre de colonnes. Les types de données des colonnes de chaque position doivent être compatibles.
Apprentissage pratique :fusionner les enregistrements de plusieurs tables
- Ouvrir la base de données Ceil Inn3 de la leçon 40
- Sur le ruban, cliquez sur Créer et, dans la section Requêtes, cliquez sur Conception de requête
- Dans la boîte de dialogue Afficher le tableau, double-cliquez sur Employés et commis
- Cliquez sur Fermer
- Dans les listes Employés, double-cliquez sur EmployeeNumber, FirstName et LastName
- Dans la liste Commis, double-cliquez sur ClerkCode, FirstName et LastName
- Cliquez avec le bouton droit sur la fenêtre de requête et cliquez sur Vue SQL
- Modifiez l'instruction SQL comme suit :
SELECT Employees.EmployeeNumber, Employees.FirstName, Employees.LastName FROM Employees UNION SELECT Clerks.ClerkCode, Clerks.FirstName, Clerks.LastName FROM Clerks;
- Pour exécuter la requête, cliquez sur le bouton Exécuter
- Fermer la requête
- Lorsqu'on vous demande si vous souhaitez enregistrer, cliquez sur Non
Sélection dans un tableau
Si vous avez des enregistrements dans une table existante, vous pouvez copier tout ou partie de ces enregistrements pour les placer dans une nouvelle table que vous créez. Pour ce faire, la formule à suivre est :
SELECT fields INTO new-table-name FROM existing-table [WHERE condition]
Pour utiliser toutes les colonnes et tous les enregistrements, commencez par SELECT opérateur, suivi de *, suivi de INTO , suivi du nom de la table que vous souhaitez créer, suivi de FROM , et le nom de la table d'origine qui contient les enregistrements. Voici un exemple :
SELECT * INTO CompanyRecipients FROM Employees;
Au lieu d'utiliser toutes les colonnes, vous pouvez spécifier uniquement le champ souhaité après le SELECT mot-clé. Voici un exemple :
SELECT EmployeeNumber, LastName, FirstName, EmploymentStatus INTO Salaried FROM Employees;
Au lieu d'utiliser tous les enregistrements, vous pouvez utiliser une condition par laquelle les enregistrements seraient sélectionnés et ajoutés à la nouvelle table que vous créez. Pour définir la condition, vous pouvez créer un WHERE déclaration comme la dernière dans toute l'expression. Voici un exemple :
SELECT * INTO FullTimeEmployees FROM Employees WHERE EmploymentStatus = 'Full Time';
Suppression de tous les enregistrements d'une table
Dans le SQL, pour supprimer tous les enregistrements d'une table, utilisez la commande DELETE commande. La formule à suivre est :
DELETE columns-names FROM table-name;
Normalement, vous utilisez * comme noms-de-colonnes . Le nom-table Le paramètre doit être un nom valide d'une table de la base de données courante. Voici un exemple :
DELETE * FROM States;
Lors de l'exécution, vous recevrez un avertissement :
Si vous cliquez sur Oui, tous les enregistrements de la table seront supprimés.
Suppression de certains enregistrementsx
Pour supprimer un ou plusieurs enregistrements, ajoutez un OÙ condition à un SUPPRIMER commande. La formule à suivre est :
DELETE columns-names FROM table-name WHERE condition;
Le OÙ La clause spécifie la condition par laquelle certains enregistrements seront supprimés. Voici un exemple :
DELETE * FROM [Staff Members] WHERE [Marital Status] = "Single";
Une fois de plus, lors de l'exécution, vous recevrez un avertissement vous permettant de décider si vous souhaitez poursuivre l'opération.
Apprentissage pratique :terminer la leçon
- Fermer Microsoft Access