Je cherche à savoir de quelque manière je peux synchroniser une barre de
progression (Contrôle progressbar éventuellemnet placé dans un formailre
indépendant) pendant le temps de traitement de plusieurs code (version
Access 97)
Merci d'avance pour l'aide que vous pourrez m'apporter.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bonjour
"VIDALJV" a écrit dans le message de news: 42d989ef$0$14648$ | Bonsoir, | | Je cherche à savoir de quelque manière je peux synchroniser une barre de | progression (Contrôle progressbar éventuellemnet placé dans un formailre | indépendant) pendant le temps de traitement de plusieurs code (version | Access 97) | | Merci d'avance pour l'aide que vous pourrez m'apporter.
Allez on innove un peu :-)
Pour la barre standard, au début du traitement, initialiser l'échelle de la barre de progression par exemple à 100 Call fProgressBar(Null, 100)
en cours de traitement, faire avancer les valeurs Call fProgressBar(10, Null) ... Call fProgressBar(20, Null) ... Call fProgressBar(70, Null) ... Call fProgressBar(100, Null)
en fin de traitement, effacer la barre : Call fProgressBar(Null, Null)
et la chtite fonction :
Function fProgressBar(i As Variant, n As Variant) If IsNull(i) And Not IsNull(n) Then: SysCmd acSysCmdInitMeter, "Traitement en cours ", n If Not IsNull(i) Then: SysCmd acSysCmdUpdateMeter, i If IsNull(i) And IsNull(n) Then: SysCmd acSysCmdClearStatus End Function
Bien-sûr, l'échelle 100 pourra être modifiée en quelque chose de plus proche de la réalité comme un nombre d'enregistrements dans une requête par exemple Dans ce cas, on pourra incrémenter un compteur +1 afin de mettre à jour la barre à chaque passage
"VIDALJV" <jvta@free.fr> a écrit dans le message de news:
42d989ef$0$14648$626a14ce@news.free.fr...
| Bonsoir,
|
| Je cherche à savoir de quelque manière je peux synchroniser une barre de
| progression (Contrôle progressbar éventuellemnet placé dans un formailre
| indépendant) pendant le temps de traitement de plusieurs code (version
| Access 97)
|
| Merci d'avance pour l'aide que vous pourrez m'apporter.
Allez on innove un peu :-)
Pour la barre standard, au début du traitement, initialiser l'échelle de la barre de progression
par exemple à 100
Call fProgressBar(Null, 100)
en cours de traitement, faire avancer les valeurs
Call fProgressBar(10, Null)
...
Call fProgressBar(20, Null)
...
Call fProgressBar(70, Null)
...
Call fProgressBar(100, Null)
en fin de traitement, effacer la barre :
Call fProgressBar(Null, Null)
et la chtite fonction :
Function fProgressBar(i As Variant, n As Variant)
If IsNull(i) And Not IsNull(n) Then: SysCmd acSysCmdInitMeter, "Traitement en cours ", n
If Not IsNull(i) Then: SysCmd acSysCmdUpdateMeter, i
If IsNull(i) And IsNull(n) Then: SysCmd acSysCmdClearStatus
End Function
Bien-sûr, l'échelle 100 pourra être modifiée en quelque chose de plus proche de la réalité comme
un nombre d'enregistrements dans une requête par exemple
Dans ce cas, on pourra incrémenter un compteur +1 afin de mettre à jour la barre à chaque
passage
"VIDALJV" a écrit dans le message de news: 42d989ef$0$14648$ | Bonsoir, | | Je cherche à savoir de quelque manière je peux synchroniser une barre de | progression (Contrôle progressbar éventuellemnet placé dans un formailre | indépendant) pendant le temps de traitement de plusieurs code (version | Access 97) | | Merci d'avance pour l'aide que vous pourrez m'apporter.
Allez on innove un peu :-)
Pour la barre standard, au début du traitement, initialiser l'échelle de la barre de progression par exemple à 100 Call fProgressBar(Null, 100)
en cours de traitement, faire avancer les valeurs Call fProgressBar(10, Null) ... Call fProgressBar(20, Null) ... Call fProgressBar(70, Null) ... Call fProgressBar(100, Null)
en fin de traitement, effacer la barre : Call fProgressBar(Null, Null)
et la chtite fonction :
Function fProgressBar(i As Variant, n As Variant) If IsNull(i) And Not IsNull(n) Then: SysCmd acSysCmdInitMeter, "Traitement en cours ", n If Not IsNull(i) Then: SysCmd acSysCmdUpdateMeter, i If IsNull(i) And IsNull(n) Then: SysCmd acSysCmdClearStatus End Function
Bien-sûr, l'échelle 100 pourra être modifiée en quelque chose de plus proche de la réalité comme un nombre d'enregistrements dans une requête par exemple Dans ce cas, on pourra incrémenter un compteur +1 afin de mettre à jour la barre à chaque passage