Symptômes
Dans Microsoft Access, il est possible que vous rencontriez des performances dégradées en utilisant des requêtes directes comme tables sources dans d’autres requêtes.
Cause
Microsoft Access n’enregistre pas la définition d’une requête directe. Par conséquent, il est possible d’exécuter la requête directe à différentes reprises pour récupérer des informations relatives à sa définition. Lorsque l’exécution de la requête directe prend beaucoup de temps, Access semble se bloquer car la requête directe est en cours d’exécution.
Résolution
Selon l’endroit où vous remarquez le problème dans Access, il existe plusieurs méthodes pour éviter ce problème.Modifications générales :
-
Améliorez les performances des requêtes directes pour réduire le temps nécessaire à l’exécution de la requête.
-
Au lieu d’utiliser une requête directe, créez un affichage dans SQL Server et liez cet affichage à Access en tant que table liée.
Scénarios spécifiques :Création d’une requête :
-
Apporter des modifications de conception en mode SQL Access au lieu du mode création (en mode création de requête, vous pouvez modifier l’affichage en mode SQL en ouvrant la requête en mode création. Accédez ensuite à la section résultats sous l’onglet création du ruban.)
-
Ce problème concerne les requêtes enregistrées. Par conséquent, vous pouvez ouvrir votre requête en mode SQL Access, copier la syntaxe SQL, créer une nouvelle requête, coller la syntaxe SQL en mode SQL, puis changer la requête en mode création. Vous serez en mesure de concevoir la requête sans problème tant que vous ne l’enregistrez pas.
Ouverture de formulaires ou exécution de requêtes :
-
Définissez la propriété Recordset type sur capture. (En mode création, exposez la feuille de propriétés à partir de l’onglet création du ruban, dans le groupe Afficher/Masquer).
Affichage des rapports :
-
Changer le rapport pour qu’il utilise la requête directe comme source