ACC2002 : l'Assistant Migration ne pas migrer imbriqués requêtes si les requêtes de base sont migration effectuée en tant que fonctions

Traductions disponibles Traductions disponibles
Numéro d'article: 295235 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Modéré : nécessite macro base, codage et compétences de l'interopérabilité.

Cet article s'applique à une base de données Microsoft Access (.mdb) et à un projet Microsoft Access (.adp).

Agrandir tout | Réduire tout

Sommaire

Symptômes

L'Assistant de migration de Microsoft Access ne migre pas une requête imbriquée si les deux conditions suivantes sont remplies :
  • La requête inclut une requête de niveau inférieur qui inclut une clause ORDER BY dans son instruction SQL.

    -et-

  • La requête de niveau inférieur est impliquée dans plus d'une jointure.

Cause

L'Assistant Migration convertit des requêtes avec des clauses ORDER BY aux fonctions. Par conséquent, la requête de niveau inférieur est convertie en une fonction. Lorsqu'une fonction est impliquée dans plus d'une jointure dans une requête, l'Assistant Migration ne migre pas la requête.

Résolution

Pour contourner ce problème, appliquez l'une des méthodes suivantes.

Méthode 1

Copier et coller l'instruction SQL de la requête imbriquée dans votre base de données Microsoft Access à une nouvelle requête dans le projet Microsoft Access migrées. Pour ce faire, procédez comme suit :
  1. Ouvrez la base de données qui contient la requête imbriquée.
  2. Ouvrez la requête imbriquée en mode Création.
  3. Dans le menu Affichage , cliquez sur mode SQL .
  4. Sélectionnez l'instruction SQL entière pour que vous pouvez la copier.
  5. Dans le menu Edition , cliquez sur Copier .
  6. Fermez la requête. Ne pas enregistrer les modifications.
  7. Ouvrez le projet Microsoft Access migrées.
  8. Dans la fenêtre base de données, cliquez sur requêtes sous objets , puis double-cliquez sur Mode Création dans concepteur .
  9. Dans la boîte de dialogue Afficher la table , cliquez sur Fermer .
  10. Dans la barre d'outils Affichage création , cliquez sur SQL pour ouvrir la fenêtre SQL dans la partie inférieure de l'écran.
  11. Dans la fenêtre SQL, sélectionnez le texte SELECT FROM afin que vous pouvez coller sur le texte.
  12. Dans le menu Edition , cliquez sur Coller . Si nécessaire, modifiez la requête afin qu'il est conforme à la syntaxe de T-SQL correcte.
  13. Enregistrer la vue et attribuez-lui le même nom que la requête dans le fichier de base de données (.mdb) Access.
  14. Exécutez la requête.
  15. Revenir en mode Création.
  16. Dans la colonne Type de tri , sélectionnez l'ordre de tri pour le champ à trier.
  17. Réexécutez la requête.
  18. Fermez et enregistrez la requête.

Méthode 2

Avant de migrer votre base de données, requête d'ouvrir le niveau inférieur en mode Création, supprimer l'ordre de tri et puis réinsérez l'ordre de tri de la requête migrée.

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés au début de cet article.

Plus d'informations

Procédure pour reproduire le comportement

attention : si vous suivez les étapes de cet exemple, vous modifier la base de données exemple Comptoir.mdb sera modifiée. Vous souhaiterez peut-être sauvegarder le fichier Comptoir.mdb et procédez comme suit sur une copie de la base de données.

  1. Ouvrez la base de données exemple Comptoir.mdb sera modifiée.
  2. Créer une nouvelle requête en mode Création.
  3. Dans la boîte de dialogue Afficher la table , cliquez sur Fermer .
  4. Dans le menu Affichage , cliquez sur mode SQL .
  5. Tapez ou collez le texte suivant dans la fenêtre SQL :
       SELECT Employees.LastName, 
            Orders.OrderDate, 
            Orders.ShipCountry, 
            [Order Details Extended].ExtendedPrice, 
            Products.ProductName, 
            Categories.CategoryName
       FROM Employees  
         INNER JOIN (Categories 
            INNER JOIN ((Orders 
               INNER JOIN [Order Details Extended] 
         ON Orders.OrderID = [Order Details Extended].OrderID) 
            INNER JOIN Products 
              ON [Order Details Extended].ProductID = Products.ProductID) 
                ON Categories.CategoryID = Products.CategoryID) 
                  ON Employees.EmployeeID = Orders.EmployeeID;
    					
  6. Enregistrer la requête en tant que qryNested et puis fermez-le.
  7. Faire migrer la base de données.
  8. Une fois l'Assistant de migration a terminé, notez que la requête qryNested n'était pas migrés dans le nouveau projet Microsoft Access.

Propriétés

Numéro d'article: 295235 - Dernière mise à jour: lundi 10 février 2014 - Version: 3.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Access 2002
Mots-clés : 
kbnosurvey kbarchive kbmt kbbug KB295235 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 295235
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com