Manipulation des champs OUI/NON

impact74 Messages postés 29 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 22 juin 2007 - 24 mai 2007 à 16:15
impact74 Messages postés 29 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 22 juin 2007 - 28 mai 2007 à 08:49
Bonjour à toutes et à tous !!!

Je bloque sur un problème, je vais tenter d'être claire.

J'ai une table dans access qui contient les colonnes :
PC  | Appli  | DateCnx  | 0700 |  0710  | 0720..| 1200  | 1210   | 1220 ....jusqu'à | 1800

Les colonnes numéroté correspondent à des tranches d'heures et les champs de ces colonnes sont des Oui/Non. C'est à dire que je détermine les heures de connexion à une Appli, pour chaque PC à une date précis, en mettant des OUI.
(Ex : PC1 s'est connecté à l'Appli1 le 22/05/2007 de 10h00 à 13h20. Donc les champs des colonnes de 1000 à 1320 sont à OUI)
Mon problème : je doit déterminer le nombre max et min de connexion simultané, dans une journée et entre deux dates ( 2 jours, une semaine, un mois ou plus) pour chaque Appli.
En résumé je doit faire une statistique de connexion à des applications.

Merci d'avance pour vos réponses!
PS : En cas de besoin, je pourrai vous fournir plus d'explication.

5 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
24 mai 2007 à 21:29
Salut

Une requete du style

select Appli , DateCnx , count(0700) as 0700 , count(0710)as 0710 ,count(0720) as 0720),count( 1800) as 1800
GROUP BY APPLI, DateCnx ORDER BY Appli

Ne debloquerait t'elle pas la situation.

Normalement ton schema de base devrait etre différent

Tu devrait avoir une table
PC, DateDCnx, Appli, HeureDeConnexion

Et inserer a chaque fois que ton client se connecte et
enregistré la fin de connexion.

Dans ton programme toutes les dix minutes tu modifies une ligne pour chaque machine??
Ou tu remplis a la fin de session (si tu fais un hardreboot) comment cela est géré (c'est info personnel)

Bon sql, et courage
0
impact74 Messages postés 29 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 22 juin 2007
25 mai 2007 à 10:44
Salut [auteurdetail.aspx?ID=84425 nhervagault]et merci pour ta reponse !
En effet, ta requête ma avancé un peu. mais c'est pas tout à fait ce que je demande. 

Pour ton info, le champ DateCnx de ma table contient la date et l'heure de connexion. Ex : 22/03/2007 09:55:00

Pour l'insertion des données c'est un peu compliqué. Accroche toi !!!
Alors j'explique ; avec un programme on interroge un gestionnaire de licence tout les 10min et on récupère les infos dans un fichier nommé "app_date&heure-interrogation.txt" avec un certain format :
NomPC | NomApp | Date&H cnx | Date&H_d'interrogation.

On met ces fichiers en attente dans un dossier. A la fin de la journée un autre programme prend ces fichiers un par un et introduit les données dans une table temporaire de ma base, dont les colonnes correspond au format du fichier.
explication :  on interroge le 22/03/2007 à 09h10 on vois PC1 qui s'est connecté le même jour à 08h20, et PC2 à 08h55. la prochaine interro se fait à 09h20, on vois tjr PC2 mais PC1 à disparu. cela veut dire que PC1 s'est déconnecté entre temps. on dit qu'il s'est déconnecté à 09h20 (+ ou - 10 min).
Ensuite un autre prog prend les données de la table tempo fait de l'archivage, des calculs de temp et détermine les tranches d'heure de connexion...

Au final, je doit afficher un graphique (par ex de 1 mois) qui montre que à tels date pour tels appli il y a eu tels nombre de connexion simultané.

J'espère avoir été claire
Si tu a une solution je suis preneur ; en attendant je vais essayer de mon côté. On se tiens au courant...
0
impact74 Messages postés 29 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 22 juin 2007
25 mai 2007 à 12:43
Re salut !!!

J'ai fait plusieurs essais et la requête m'affiche le nombre total de connection dans la journée, mais pas simultanément. Car pour l'appli1 je trouve par ex 8 alors qu'on a que 5 licence disponible. C'est à dire qu'il est impossible d'avoir 8 connexion simultané à l'appli1. De plus le 8 apparait dans toutes les colonnes.

Si je pouvais afficher le nombre de OUI de chaque colonne pour une date et pour une appli, deja ça m'avancerai beaucoup...Pourrai-tu m'aider?
Ou si quelqu'un d'autre avait une idée il sera le bienvenue...

Merci d'avance !!!
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
25 mai 2007 à 23:29
Je vois peux etre le probleme

Si c'est des bit tu peux faire
select Appli , DateCnx , sum(0700) as 0700 , sum(0710)as 0710 ,sum(0720) as 0720),sum( 1800) as 1800
GROUP BY APPLI, DateCnx ORDER BY Appli


Le count compte le nombre de cellules remplies OUI et NON
Le sum sur des bits doit etre une réponse c'est a voir
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
impact74 Messages postés 29 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 22 juin 2007
28 mai 2007 à 08:49
J'ai essayé avec la fonction "SUM" et ça me renvoie pas le bon resultat.

Cela dit j'ai trouvé un autre moyen, à partir de VBA, c'est la fonction "DCOUNT".

la fonction me renvoie ce que je veut. C.A.D le nombre de OUI exacte dans chaque colonne.
0