Bonjour à tous,


Actuellement stagiaire, je suis confrontée à un problème d'ouverture d'état sous Access 2003. J'espère que la communauté de Developpez.com pourra m'aider à résoudre mon problème...


Ca concerne un état qui ne veut plus s'ouvrir sachant qu'auparavant il s'ouvrait lentement. Dans le fichier Backup, l'état refuse toujours de s'ouvrir ainsi qu'un autre formulaire que j'ai modifié entre-temps affichant un message disant que la mémoire est insuffisante. Concernant l'état, je pense que c'est dû au fait que sa requête source fait appel à de nombreuses requêtes comportant des jointures externes.


Mais peut-être que je peux éviter toutes ces jointures externes ? En fait, j'ai un nombre considérable de requêtes car d'après mes recherches, Access 2003 ne pourrait pas combiner dans une même requête un LEFT JOIN et un COUNT.


Par exemple :
La table ETABLISSEMENT est associé à un ou plusieurs CHANTIERs.

- Si je veux avoir le nombre de chantiers par établissement :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT e.IdEtablissement, COUNT(c.IdChantier) AS [Nombre de chantiers]
FROM ETABLISSEMENT e, Chantier c
WHERE e.IdEtablissement = c.IdEtablissement
GROUP BY e.IdEtablissement ;

- si je veux avoir le nombre de chantiers pour tous les établissements (avec la requête ci-dessus nommée "ReqNbChantiersParEtablissementSansZero", les établissements n'ayant aucun chantier n'apparaissent pas) :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SELECT DISTINCT e.IdEtablissementamme, Val(Nz(req.[Nombre de chantiers],0)) AS [Nombre de chantiers]
FROM ETABLISSEMENT e LEFT JOIN ReqNbChantiersParEtablissementSansZero AS req ON e.IdEtablissement = req.IdEtablissement ;


Excusez-moi d'être aussi confuse mais je panique un peu comme la fin de mon stage approche et que j'ai jusqu'à présent réussi à m'en sortir grâce à ce site Internet formidable.
Merci beaucoup pour l'aide que vous pourrez m'apporter.


KriKri