Maison >base de données >tutoriel mysql >Comment effectuer une requête UNION sans table dans MS Access ?
Requête UNION sans table dans MS Access (Jet/ACE)
Dans Microsoft Access utilisant le moteur de base de données Jet/ACE, vous pouvez rencontrer des erreurs lorsque vous essayez d'utiliser une requête UNION sans spécifier de source de données de table. Le message d'erreur « L'entrée de requête doit contenir au moins une table ou une requête » apparaîtra.
Cette limitation provient de l'exigence du moteur d'au moins une table ou requête dans la clause FROM, même si aucun champ de cette source de données n'est utilisé. Pour résoudre ce problème, vous pouvez utiliser une table virtuelle contenant toujours une seule ligne.
Créer une table virtuelle
<code>Public Sub CreateDualTable() Dim strSql As String strSql = "CREATE TABLE Dual (id COUNTER CONSTRAINT pkey PRIMARY KEY);" Debug.Print strSql CurrentProject.Connection.Execute strSql strSql = "INSERT INTO Dual (id) VALUES (1);" Debug.Print strSql CurrentProject.Connection.Execute strSql strSql = "ALTER TABLE Dual" & vbNewLine & _ vbTab & "ADD CONSTRAINT there_can_be_only_one" & vbNewLine & _ vbTab & "CHECK (" & vbNewLine & _ vbTab & vbTab & "(SELECT Count(*) FROM Dual) = 1" & vbNewLine & _ vbTab & vbTab & ");" Debug.Print strSql CurrentProject.Connection.Execute strSql End Sub</code>
Utiliser des tables virtuelles
À l'aide de tables virtuelles, vous pouvez désormais créer des requêtes UNION sans table :
<code>SELECT "foo" AS my_text FROM Dual UNION ALL SELECT "bar" FROM Dual;</code>
Méthodes alternatives
Vous pouvez également utiliser une instruction SELECT avec une clause TOP 1 ou WHERE pour limiter l'ensemble de résultats à une seule ligne.
Veuillez noter que les contraintes de vérification ne sont disponibles que dans les instructions exécutées via ADO (CurrentProject.Connection.Execute). DAO (CurrentDb.Execute) ne prend pas en charge la création de contraintes de vérification.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!