OVH Cloud OVH Cloud

mise à jour automatique des enregistrements

5 réponses
Avatar
Bernard Bicheroux
Bonjour à tous,

J'ai une base de données avec un champ "date de péremption"
qui change de couleur quand la date est dépassée. Seulement pour que mon
champ soit à jour, je suis obligé de faire défiler mes enregistrements
manuellement. Comment automatiser cette tâche à l'ouverture de ma base?

Merci d'avance.

Bernard

5 réponses

Avatar
3stone
Salut,

| J'ai une base de données avec un champ "date de péremption"
| qui change de couleur quand la date est dépassée. Seulement pour que mon
| champ soit à jour, je suis obligé de faire défiler mes enregistrements
| manuellement. Comment automatiser cette tâche à l'ouverture de ma base?


Que veux tu dire par "à jour" ?
c'est une date calculée selon un autre date, non ?

Quelle est la date du départ, quelle est la période de validité ?
Tu veux qu'il t'affiche à l'ouverture la "liste" des dates dépassées ?


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
Bernard Bicheroux
Salut Pierre,

Par "à jour", j'entend le changement de couleur de mon champ "date
de péremption" au moment ou cette date de péremption est passée; donc c'est
bien une date calculée par rapport à une autre (la date du jour d'ouverture
de ma base).

La date de départ est la date de péremption et sa période de
validité dépend de mon produit chimique.

Ce que je veux , c'est que la base me dise "X produits ont dépassés
la date de péremption et ont été déclassés" et que entre temps la base
change mon champ de couleur pour ces produits.

Bien à toi,

Bernard.
3stone a écrit dans le message :
3f854b24$0$24189$
Salut,

| J'ai une base de données avec un champ "date de
péremption"

| qui change de couleur quand la date est dépassée. Seulement pour que mon
| champ soit à jour, je suis obligé de faire défiler mes enregistrements
| manuellement. Comment automatiser cette tâche à l'ouverture de ma base?


Que veux tu dire par "à jour" ?
c'est une date calculée selon un autre date, non ?

Quelle est la date du départ, quelle est la période de validité ?
Tu veux qu'il t'affiche à l'ouverture la "liste" des dates dépassées ?


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------





Avatar
3stone
Salut,

| Par "à jour", j'entend le changement de couleur de mon champ "date
| de péremption" au moment ou cette date de péremption est passée; donc c'est
| bien une date calculée par rapport à une autre (la date du jour d'ouverture
| de ma base).
|
| La date de départ est la date de péremption et sa période de
| validité dépend de mon produit chimique.
|
| Ce que je veux , c'est que la base me dise "X produits ont dépassés
| la date de péremption et ont été déclassés" et que entre temps la base
| change mon champ de couleur pour ces produits.


Ok... mais, tu mélange deux choses...

Pour te dire qu'il y a X produits dont la date est dépassée, il faut bien
d'une façon ou d'une autre les "passer en revues"... donc, les vérifier
tous, un à un. Cela ce fait heureusement simplement avec une requête.

Pour t'aider précisément, donne le nom :
de la table, des champs qui contiennent la date de "départ" et de la "période"

Exemple de requête:
Un champ calculé qui fait un "DateDiff" sur la date de "création" et "maintenant"
comparaison sur la "période" pour savoir si dépassement de la date de péremption.
Le plus simple est de créer une petite fonction: fn_Peremption

Par contre, la couleur du champ n'est "stockée" nulle part !!!
Elle est simplement applique dans le formulaire au moment de l'affichage
du contrôle en question, sur traitement d'une procédure.

En utilisant la même fonction que si dessus, on attribue l'une ou l'autre couleur.



--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
Bernard Bicheroux
Salut Pierre,

Voici les réponses à tes questions: la table s'appelle "produits" et
le champ "DatePeremption". Ci-dessous, tu trouveras le code avec lequel je
travaille actuellement (en faisant défiler mes enregistrements manuellement)

Private Sub Form_Current()

If Now() > [DatePeremption] Then
Me.[DatePeremption].BackColor = 255 'en rouge
Message ("Attention, la date de péremption est dépassée")
Else
Me.[DatePeremption].BackColor = 16777215 'en blanc
End If

Bien à toi,

Bernard


3stone a écrit dans le message :
3f8690c2$0$31748$
Salut,

| Par "à jour", j'entend le changement de couleur de mon champ
"date

| de péremption" au moment ou cette date de péremption est passée; donc
c'est

| bien une date calculée par rapport à une autre (la date du jour
d'ouverture

| de ma base).
|
| La date de départ est la date de péremption et sa période de
| validité dépend de mon produit chimique.
|
| Ce que je veux , c'est que la base me dise "X produits ont
dépassés

| la date de péremption et ont été déclassés" et que entre temps la base
| change mon champ de couleur pour ces produits.


Ok... mais, tu mélange deux choses...

Pour te dire qu'il y a X produits dont la date est dépassée, il faut bien
d'une façon ou d'une autre les "passer en revues"... donc, les vérifier
tous, un à un. Cela ce fait heureusement simplement avec une requête.

Pour t'aider précisément, donne le nom :
de la table, des champs qui contiennent la date de "départ" et de la
"période"


Exemple de requête:
Un champ calculé qui fait un "DateDiff" sur la date de "création" et
"maintenant"

comparaison sur la "période" pour savoir si dépassement de la date de
péremption.

Le plus simple est de créer une petite fonction: fn_Peremption

Par contre, la couleur du champ n'est "stockée" nulle part !!!
Elle est simplement applique dans le formulaire au moment de
l'affichage

du contrôle en question, sur traitement d'une procédure.

En utilisant la même fonction que si dessus, on attribue l'une ou
l'autre couleur.




--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------






Avatar
3stone
Salut,

"Bernard Bicheroux"
| Voici les réponses à tes questions: la table s'appelle "produits" et
| le champ "DatePeremption". Ci-dessous, tu trouveras le code avec lequel je
| travaille actuellement (en faisant défiler mes enregistrements manuellement)
|
| Private Sub Form_Current()
|
| If Now() > [DatePeremption] Then
| Me.[DatePeremption].BackColor = 255 'en rouge
| Message ("Attention, la date de péremption est dépassée")
| Else
| Me.[DatePeremption].BackColor = 16777215 'en blanc
| End If


Le code dans le formulaire, il faudra bien le laisser... pour la couleur.

Mais, pour savoir ne nombre de produit qui on une date dépassée,
colle cette petite fonction dans un module que tu nommera "mod_Peremption"


Function Peremption() As Integer
Dim dj As String
dj = Format(Date, "yyyymmdd")
Peremption = DCount("*", "Produits", "Format([DatePeremption], 'yyyymmdd') <" & dj)
End Function


Pour afficher dans une zone de texte, le nombre de produits concernés,
tu mets simplement :

= Peremption()


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------