2010-07-26 7 views
2

J'utilise une base de données Access 2007 pour suivre et signaler les temps et la fiabilité des périphériques. J'ai quatre périphériques différents dans la table des périphériques. Je surveille également toutes les occurrences d'indisponibilité dans sa propre table. Nous avons également besoin de savoir quand les appareils sont réellement utilisés, donc nous pouvons dire si les temps d'arrêt ont affecté notre fonctionnement. Nous gardons trace de l'utilisation dans une table différente. Mon rapport recherche toutes les occurrences d'indisponibilité, les regroupe par périphérique, puis utilise le pied de groupe pour sous-totaliser le temps d'arrêt, rechercher l'utilisation pour la période et calculer le pourcentage de temps de disponibilité. Mon problème est que s'il n'y a pas de temps d'arrêt, le rapport d'accès ignore tout ce périphérique (évidemment parce qu'il ne le sait pas en interrogeant simplement la table de temps d'arrêt). Je voudrais toujours voir le regroupement pour tous les appareils et s'il n'y a pas de temps d'arrêt, il devrait toujours montrer le pied de page avec une utilisation totale et des statistiques de fiabilité.Regroupement de rapports Access 2007

Je réalise que l'accès n'est peut-être pas le meilleur outil, mais dans mon environnement de travail c'est tout ce dont j'ai facilement accès. Je me rends compte également que, sans trop se préciser, il peut être difficile de donner des réponses concrètes, mais j'espère que quelqu'un pourra me diriger dans la bonne direction.

Merci pour tout commentaire.

Répondre

2

Vous ne fournissez pas de détails, alors voici une réponse quelque peu vague. La meilleure façon de le faire est généralement de configurer votre requête pour le rapport afin qu'il contienne toujours une liste complète des périphériques. Cela peut être réalisé par un LEFT JOIN à partir de la table de périphériques principale à la table de données. Vous pouvez utiliser Nz pour renvoyer une valeur appropriée si les valeurs NULL sont un problème.

SELECT A.DeviceID, A.Device, A.Col1, B.Col2, B.Col3 
FROM TableWithFullListOfDevices A 
LEFT JOIN TableWithDownTimeResults B 
+0

La réponse "vague" est parfaite. C'est si simple maintenant, mais je ne pouvais pas m'en passer la tête avant. Merci! – Cam