OVH Cloud OVH Cloud

Nb Connexion simultanée Max

6 réponses
Avatar
ToftiNC
Bonjour,

J'ai une table qui contient toutes les connexions à ma base de données
ACCESS.

La date et l'heure de connexion est stockée dans un champ Datedébut
La date et l'heure de deconnexion est stockée dans un champ Datedefin

Je souhaite trouver le nombre de connexions simultanées Maximum.

Commemt faire ?

Merci

6 réponses

Avatar
Patrice
Bonjour,

Sous VB, j'ouvrirais ma table et je bouclerai sur chaque enregistrement.

Ds la boucle, je créerai une requête basée sur la table "connexions" ayant
pour condition Datedébut>=à la datedebut de l'enegistrement où je me trouve
et datefin<=à la datefin de l'enegistrement où je me trouve.

je compterai les enregistrements sélectionnés et si le résultat obtenu et >
au précédent je le stockerai.

ouverture de matable "connexions"

do until matable.eof

requete conditionnée
x=matable.recordcount
si x>z then z=x
matable.movenext
loop



Bonjour,

J'ai une table qui contient toutes les connexions à ma base de données
ACCESS.

La date et l'heure de connexion est stockée dans un champ Datedébut
La date et l'heure de deconnexion est stockée dans un champ Datedefin

Je souhaite trouver le nombre de connexions simultanées Maximum.

Commemt faire ?

Merci





Avatar
ToftiNC
Bonjour et merci
Pourriez vous me dire comment faire la requête et l'intégrer dans le code.
De mon côté, j'ai crée la fonction suivante mais c'est super lent.

Dim DB As DAO.Database
Dim rs As DAO.Recordset
Dim Position As Variant
Dim DateDebut As Date
Dim DateFin As Date
Dim NBConnexion As Integer
Dim ConnexionMax As Integer

Set DB = CurrentDb()
Set rs = DB.OpenRecordset("Actions")

ConnexionMax = 0

rs.MoveFirst
Do
NBConnexion = 0
Position = rs.Bookmark
DateDebut = rs!datatime.Value
DateFin = rs!actiontime.Value
Do
If (rs!datatime.Value >= DateDebut And rs!actiontime.Value <=
DateFin) Then
NBConnexion = NBConnexion + 1
End If
rs.MoveNext
Loop Until rs.EOF
If NBConnexion > ConnexionMax Then ConnexionMax = NBConnexion
rs.Bookmark = Position
rs.MoveNext
Loop Until rs.EOF
MsgBox ConnexionMax

rs.Close
Set rs = Nothing
DB.Close
Set DB = Nothing

"Patrice" a écrit dans le message de
news:
Bonjour,

Sous VB, j'ouvrirais ma table et je bouclerai sur chaque enregistrement.

Ds la boucle, je créerai une requête basée sur la table "connexions" ayant
pour condition Datedébut>=à la datedebut de l'enegistrement où je me
trouve
et datefin<=à la datefin de l'enegistrement où je me trouve.

je compterai les enregistrements sélectionnés et si le résultat obtenu et

au précédent je le stockerai.


ouverture de matable "connexions"

do until matable.eof

requete conditionnée
x=matable.recordcount
si x>z then z=x
matable.movenext
loop



Bonjour,

J'ai une table qui contient toutes les connexions à ma base de données
ACCESS.

La date et l'heure de connexion est stockée dans un champ Datedébut
La date et l'heure de deconnexion est stockée dans un champ Datedefin

Je souhaite trouver le nombre de connexions simultanées Maximum.

Commemt faire ?

Merci







Avatar
Patrice
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Dim rq As DAO.Recordset

Dim DateDebut As Date
Dim DateFin As Date
Dim NBConnexion As Integer
Dim ConnexionMax As Integer

Set DB = CurrentDb()
Set rs = DB.OpenRecordset("Actions")

ConnexionMax = 0

Do until rs.eof
NBConnexion = 0

DateDebut = rs!datatime
DateFin = rs!actiontime

set rqÛ.openrecordset("SELECT Actions.datatime, Actions.actiontime FROM
Actions
WHERE (((Actions.Debut)>=#" & format(datedebut,"mm/dd/yyyy" & "#) AND
((Actions.Fin)<=#" & format(datefin,"mm/dd/yyyy" & "#));")

NBConnexion =rq.RecordCount
if NBconnexion>ConnexionMax then ConnexionMax =NBconnexion

rs.movenext
loop



Bonjour et merci
Pourriez vous me dire comment faire la requête et l'intégrer dans le code.
De mon côté, j'ai crée la fonction suivante mais c'est super lent.

Dim DB As DAO.Database
Dim rs As DAO.Recordset
Dim Position As Variant
Dim DateDebut As Date
Dim DateFin As Date
Dim NBConnexion As Integer
Dim ConnexionMax As Integer

Set DB = CurrentDb()
Set rs = DB.OpenRecordset("Actions")

ConnexionMax = 0

rs.MoveFirst
Do
NBConnexion = 0
Position = rs.Bookmark
DateDebut = rs!datatime.Value
DateFin = rs!actiontime.Value
Do
If (rs!datatime.Value >= DateDebut And rs!actiontime.Value <=
DateFin) Then
NBConnexion = NBConnexion + 1
End If
rs.MoveNext
Loop Until rs.EOF
If NBConnexion > ConnexionMax Then ConnexionMax = NBConnexion
rs.Bookmark = Position
rs.MoveNext
Loop Until rs.EOF
MsgBox ConnexionMax

rs.Close
Set rs = Nothing
DB.Close
Set DB = Nothing

"Patrice" a écrit dans le message de
news:
Bonjour,

Sous VB, j'ouvrirais ma table et je bouclerai sur chaque enregistrement.

Ds la boucle, je créerai une requête basée sur la table "connexions" ayant
pour condition Datedébut>=à la datedebut de l'enegistrement où je me
trouve
et datefin<=à la datefin de l'enegistrement où je me trouve.

je compterai les enregistrements sélectionnés et si le résultat obtenu et

au précédent je le stockerai.


ouverture de matable "connexions"

do until matable.eof

requete conditionnée
x=matable.recordcount
si x>z then z=x
matable.movenext
loop



Bonjour,

J'ai une table qui contient toutes les connexions à ma base de données
ACCESS.

La date et l'heure de connexion est stockée dans un champ Datedébut
La date et l'heure de deconnexion est stockée dans un champ Datedefin

Je souhaite trouver le nombre de connexions simultanées Maximum.

Commemt faire ?

Merci












Avatar
ToftiNC
Bonjour,

Merci pour le temps consacré à mon problème.

Malheureusement, je ne parvient pas a utiliser ce bout de code:

set rqÛ.openrecordset("SELECT Actions.datatime, Actions.actiontime FROM
Actions
WHERE (((Actions.Debut)>=#" & format(datedebut,"mm/dd/yyyy" & "#) AND
((Actions.Fin)<=#" & format(datefin,"mm/dd/yyyy" & "#));")



"Patrice" a écrit dans le message de
news:
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Dim rq As DAO.Recordset

Dim DateDebut As Date
Dim DateFin As Date
Dim NBConnexion As Integer
Dim ConnexionMax As Integer

Set DB = CurrentDb()
Set rs = DB.OpenRecordset("Actions")

ConnexionMax = 0

Do until rs.eof
NBConnexion = 0

DateDebut = rs!datatime
DateFin = rs!actiontime

set rqÛ.openrecordset("SELECT Actions.datatime, Actions.actiontime FROM
Actions
WHERE (((Actions.Debut)>=#" & format(datedebut,"mm/dd/yyyy" & "#) AND
((Actions.Fin)<=#" & format(datefin,"mm/dd/yyyy" & "#));")

NBConnexion =rq.RecordCount
if NBconnexion>ConnexionMax then ConnexionMax =NBconnexion

rs.movenext
loop



Bonjour et merci
Pourriez vous me dire comment faire la requête et l'intégrer dans le
code.
De mon côté, j'ai crée la fonction suivante mais c'est super lent.

Dim DB As DAO.Database
Dim rs As DAO.Recordset
Dim Position As Variant
Dim DateDebut As Date
Dim DateFin As Date
Dim NBConnexion As Integer
Dim ConnexionMax As Integer

Set DB = CurrentDb()
Set rs = DB.OpenRecordset("Actions")

ConnexionMax = 0

rs.MoveFirst
Do
NBConnexion = 0
Position = rs.Bookmark
DateDebut = rs!datatime.Value
DateFin = rs!actiontime.Value
Do
If (rs!datatime.Value >= DateDebut And rs!actiontime.Value < >> DateFin) Then
NBConnexion = NBConnexion + 1
End If
rs.MoveNext
Loop Until rs.EOF
If NBConnexion > ConnexionMax Then ConnexionMax = NBConnexion
rs.Bookmark = Position
rs.MoveNext
Loop Until rs.EOF
MsgBox ConnexionMax

rs.Close
Set rs = Nothing
DB.Close
Set DB = Nothing

"Patrice" a écrit dans le message de
news:
Bonjour,

Sous VB, j'ouvrirais ma table et je bouclerai sur chaque
enregistrement.

Ds la boucle, je créerai une requête basée sur la table "connexions"
ayant
pour condition Datedébut>=à la datedebut de l'enegistrement où je me
trouve
et datefin<=à la datefin de l'enegistrement où je me trouve.

je compterai les enregistrements sélectionnés et si le résultat obtenu
et

au précédent je le stockerai.


ouverture de matable "connexions"

do until matable.eof

requete conditionnée
x=matable.recordcount
si x>z then z=x
matable.movenext
loop



Bonjour,

J'ai une table qui contient toutes les connexions à ma base de données
ACCESS.

La date et l'heure de connexion est stockée dans un champ Datedébut
La date et l'heure de deconnexion est stockée dans un champ Datedefin

Je souhaite trouver le nombre de connexions simultanées Maximum.

Commemt faire ?

Merci














Avatar
Patrice
Voilà un exemple concrêt qui fonctionne.

J'ai créé une table connexion avec 2 champs : Datedebut et datefin

On Error GoTo Err_Commande0_Click


Dim db As Database, src As DAO.Recordset, rec As DAO.Recordset, vdeb, vfin
Dim nbt As Integer, nbi As Integer

Set db = CurrentDb
nbt = 0
Set src = db.OpenRecordset("connexion", dbReadOnly)
Do Until src.EOF
nbi = 0
vdeb = "#" & Format(src!datedebut, "mm/dd/yyyy hh:mm:ss") & "#"
vfin = "#" & Format(src!datefin, "mm/dd/yyyy hh:mm:ss") & "#"

Set rq = db.OpenRecordset("SELECT connexion.datedebut, connexion.datefin
FROM connexion WHERE (((connexion.dateDebut)<=" & vfin & ") AND
((connexion.dateFin)>=" & vdeb & "));")
nbi = rq.RecordCount

If Not rq.EOF Then rq.MoveLast
nbi = rq.RecordCount
Debug.Print nbi
If nbi > nbt Then nbt = nbi

src.MoveNext
Loop

Exit_Commande0_Click:
Exit Sub

Err_Commande0_Click:
MsgBox Err.Description
Resume Exit_Commande0_Click



Bonjour,

Merci pour le temps consacré à mon problème.

Malheureusement, je ne parvient pas a utiliser ce bout de code:

set rqÛ.openrecordset("SELECT Actions.datatime, Actions.actiontime FROM
Actions
WHERE (((Actions.Debut)>=#" & format(datedebut,"mm/dd/yyyy" & "#) AND
((Actions.Fin)<=#" & format(datefin,"mm/dd/yyyy" & "#));")



"Patrice" a écrit dans le message de
news:
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Dim rq As DAO.Recordset

Dim DateDebut As Date
Dim DateFin As Date
Dim NBConnexion As Integer
Dim ConnexionMax As Integer

Set DB = CurrentDb()
Set rs = DB.OpenRecordset("Actions")

ConnexionMax = 0

Do until rs.eof
NBConnexion = 0

DateDebut = rs!datatime
DateFin = rs!actiontime

set rqÛ.openrecordset("SELECT Actions.datatime, Actions.actiontime FROM
Actions
WHERE (((Actions.Debut)>=#" & format(datedebut,"mm/dd/yyyy" & "#) AND
((Actions.Fin)<=#" & format(datefin,"mm/dd/yyyy" & "#));")

NBConnexion =rq.RecordCount
if NBconnexion>ConnexionMax then ConnexionMax =NBconnexion

rs.movenext
loop



Bonjour et merci
Pourriez vous me dire comment faire la requête et l'intégrer dans le
code.
De mon côté, j'ai crée la fonction suivante mais c'est super lent.

Dim DB As DAO.Database
Dim rs As DAO.Recordset
Dim Position As Variant
Dim DateDebut As Date
Dim DateFin As Date
Dim NBConnexion As Integer
Dim ConnexionMax As Integer

Set DB = CurrentDb()
Set rs = DB.OpenRecordset("Actions")

ConnexionMax = 0

rs.MoveFirst
Do
NBConnexion = 0
Position = rs.Bookmark
DateDebut = rs!datatime.Value
DateFin = rs!actiontime.Value
Do
If (rs!datatime.Value >= DateDebut And rs!actiontime.Value < > >> DateFin) Then
NBConnexion = NBConnexion + 1
End If
rs.MoveNext
Loop Until rs.EOF
If NBConnexion > ConnexionMax Then ConnexionMax = NBConnexion
rs.Bookmark = Position
rs.MoveNext
Loop Until rs.EOF
MsgBox ConnexionMax

rs.Close
Set rs = Nothing
DB.Close
Set DB = Nothing

"Patrice" a écrit dans le message de
news:
Bonjour,

Sous VB, j'ouvrirais ma table et je bouclerai sur chaque
enregistrement.

Ds la boucle, je créerai une requête basée sur la table "connexions"
ayant
pour condition Datedébut>=à la datedebut de l'enegistrement où je me
trouve
et datefin<=à la datefin de l'enegistrement où je me trouve.

je compterai les enregistrements sélectionnés et si le résultat obtenu
et

au précédent je le stockerai.


ouverture de matable "connexions"

do until matable.eof

requete conditionnée
x=matable.recordcount
si x>z then z=x
matable.movenext
loop



Bonjour,

J'ai une table qui contient toutes les connexions à ma base de données
ACCESS.

La date et l'heure de connexion est stockée dans un champ Datedébut
La date et l'heure de deconnexion est stockée dans un champ Datedefin

Je souhaite trouver le nombre de connexions simultanées Maximum.

Commemt faire ?

Merci



















Avatar
ToftiNC
ca marche, Merci encore

"Patrice" a écrit dans le message de
news:
Voilà un exemple concrêt qui fonctionne.

J'ai créé une table connexion avec 2 champs : Datedebut et datefin

On Error GoTo Err_Commande0_Click


Dim db As Database, src As DAO.Recordset, rec As DAO.Recordset, vdeb, vfin
Dim nbt As Integer, nbi As Integer

Set db = CurrentDb
nbt = 0
Set src = db.OpenRecordset("connexion", dbReadOnly)
Do Until src.EOF
nbi = 0
vdeb = "#" & Format(src!datedebut, "mm/dd/yyyy hh:mm:ss") & "#"
vfin = "#" & Format(src!datefin, "mm/dd/yyyy hh:mm:ss") & "#"

Set rq = db.OpenRecordset("SELECT connexion.datedebut, connexion.datefin
FROM connexion WHERE (((connexion.dateDebut)<=" & vfin & ") AND
((connexion.dateFin)>=" & vdeb & "));")
nbi = rq.RecordCount

If Not rq.EOF Then rq.MoveLast
nbi = rq.RecordCount
Debug.Print nbi
If nbi > nbt Then nbt = nbi

src.MoveNext
Loop

Exit_Commande0_Click:
Exit Sub

Err_Commande0_Click:
MsgBox Err.Description
Resume Exit_Commande0_Click



Bonjour,

Merci pour le temps consacré à mon problème.

Malheureusement, je ne parvient pas a utiliser ce bout de code:

set rqÛ.openrecordset("SELECT Actions.datatime, Actions.actiontime FROM
Actions
WHERE (((Actions.Debut)>=#" & format(datedebut,"mm/dd/yyyy" & "#) AND
((Actions.Fin)<=#" & format(datefin,"mm/dd/yyyy" & "#));")



"Patrice" a écrit dans le message de
news:
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Dim rq As DAO.Recordset

Dim DateDebut As Date
Dim DateFin As Date
Dim NBConnexion As Integer
Dim ConnexionMax As Integer

Set DB = CurrentDb()
Set rs = DB.OpenRecordset("Actions")

ConnexionMax = 0

Do until rs.eof
NBConnexion = 0

DateDebut = rs!datatime
DateFin = rs!actiontime

set rqÛ.openrecordset("SELECT Actions.datatime, Actions.actiontime
FROM
Actions
WHERE (((Actions.Debut)>=#" & format(datedebut,"mm/dd/yyyy" & "#) AND
((Actions.Fin)<=#" & format(datefin,"mm/dd/yyyy" & "#));")

NBConnexion =rq.RecordCount
if NBconnexion>ConnexionMax then ConnexionMax =NBconnexion

rs.movenext
loop



Bonjour et merci
Pourriez vous me dire comment faire la requête et l'intégrer dans le
code.
De mon côté, j'ai crée la fonction suivante mais c'est super lent.

Dim DB As DAO.Database
Dim rs As DAO.Recordset
Dim Position As Variant
Dim DateDebut As Date
Dim DateFin As Date
Dim NBConnexion As Integer
Dim ConnexionMax As Integer

Set DB = CurrentDb()
Set rs = DB.OpenRecordset("Actions")

ConnexionMax = 0

rs.MoveFirst
Do
NBConnexion = 0
Position = rs.Bookmark
DateDebut = rs!datatime.Value
DateFin = rs!actiontime.Value
Do
If (rs!datatime.Value >= DateDebut And rs!actiontime.Value
< >> >> DateFin) Then
NBConnexion = NBConnexion + 1
End If
rs.MoveNext
Loop Until rs.EOF
If NBConnexion > ConnexionMax Then ConnexionMax = NBConnexion
rs.Bookmark = Position
rs.MoveNext
Loop Until rs.EOF
MsgBox ConnexionMax

rs.Close
Set rs = Nothing
DB.Close
Set DB = Nothing

"Patrice" a écrit dans le message
de
news:
Bonjour,

Sous VB, j'ouvrirais ma table et je bouclerai sur chaque
enregistrement.

Ds la boucle, je créerai une requête basée sur la table "connexions"
ayant
pour condition Datedébut>=à la datedebut de l'enegistrement où je me
trouve
et datefin<=à la datefin de l'enegistrement où je me trouve.

je compterai les enregistrements sélectionnés et si le résultat
obtenu
et

au précédent je le stockerai.


ouverture de matable "connexions"

do until matable.eof

requete conditionnée
x=matable.recordcount
si x>z then z=x
matable.movenext
loop



Bonjour,

J'ai une table qui contient toutes les connexions à ma base de
données
ACCESS.

La date et l'heure de connexion est stockée dans un champ Datedébut
La date et l'heure de deconnexion est stockée dans un champ
Datedefin

Je souhaite trouver le nombre de connexions simultanées Maximum.

Commemt faire ?

Merci