Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Access 2013, Office 2013
L’opération UNION dans Access crée une requête Union qui combine les résultats d’au moins deux requêtes ou tables indépendantes.
Syntaxe
[TABLE] requête1 UNION [ALL] [TABLE] requête2 [UNION [ALL] [TABLE] requêten [ … ]]
L'opération UNION est composée des arguments suivants :
Quitter |
Description |
|---|---|
query1-n |
Instruction SELECT, nom d’une requête stockée, ou nom d’une table stockée précédés du mot clé TABLE. |
Remarques
Vous pouvez fusionner les résultats de deux ou plusieurs requêtes, tables ou instructions SELECT, dans n'importe quel ordre, en une unique opération UNION. L'exemple suivant fusionne une table existante New Accounts avec une instruction SELECT :
TABLE [New Accounts] UNION ALL
SELECT *
FROM Customers
WHERE OrderAmount > 1000;
Par défaut, l'opération UNION ne renvoie aucun enregistrement en double mais vous pouvez ajouter le prédicat ALL pour obtenir de façon certaine que tous les enregistrements soient renvoyés. La requête s'exécutera plus rapidement par ailleurs.
Toutes les requêtes dans une opération UNION doivent demander le même nombre de champs. Toutefois, les champs ne doivent pas nécessairement avoir les même taille ou .
N'utilisez des alias que dans la première instruction SELECT ; ils seront ignorés dans toutes les autres. Dans la clause ORDER BY, faites référence aux champs par leurs noms tels qu'ils sont spécifiés dans la première instruction SELECT.
Remarque
Exemple
Cet exemple extrait les noms et les villes de tous les fournisseurs et clients au Brésil. Il appelle la procédure EnumFields que vous pouvez trouver dans l’exemple d’instruction SELECT.
Sub UnionX()
Dim dbs As Database, rst As Recordset
' Modify this line to include the path to Northwind
' on your computer.
Set dbs = OpenDatabase("Northwind.mdb")
' Retrieve the names and cities of all suppliers
' and customers in Brazil.
Set rst = dbs.OpenRecordset("SELECT CompanyName," _
& " City FROM Suppliers" _
& " WHERE Country = 'Brazil' UNION" _
& " SELECT CompanyName, City FROM Customers" _
& " WHERE Country = 'Brazil';")
' Populate the Recordset.
rst.MoveLast
' Call EnumFields to print the contents of the
' Recordset. Pass the Recordset object and desired
' field width.
EnumFields rst, 12
dbs.Close
End Sub