Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Access 2003] - Historique...

5 réponses
Avatar
Nesta
Bonjour à tous,

J'ai un formulaire, avec une table comme source de données.
Dans ce formulaire, j'ai :
- champ1 : integer
- champ2 : integer
- champ3 : integer

champ3 est calculé automatiquement selon la formule :
(champ1 * 6) + champ2
exemple : (6 * 6) + 2 = 8.

champ 1 et champ2 correspondent à des champs de ma table.
Lorsque je change la valeur de champ2 dans ma table, je souhaiterais que ça
mette à jour le calcul des lignes créées uniquement APRES changement, pas
pour celles qui existaient déjà. Est-ce possible ?

Merci pour votre aide !

Nesta

5 réponses

Avatar
Raymond [mvp]
Bonjour.

La méthode Requery met à jour les données sous-jacentes d'un contrôle
spécifié du formulaire actif, en actualisant la source de données du
contrôle.
faire:
Private Sub champ1_AfterUpdate()
Me.champ3.Requery
End Sub
Private Sub champ2_AfterUpdate()
Me.champ3.Requery
End Sub


--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix ‘07 – Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Nesta" a écrit dans le message de news:
%
| Bonjour à tous,
|
| J'ai un formulaire, avec une table comme source de données.
| Dans ce formulaire, j'ai :
| - champ1 : integer
| - champ2 : integer
| - champ3 : integer
|
| champ3 est calculé automatiquement selon la formule :
| (champ1 * 6) + champ2
| exemple : (6 * 6) + 2 = 8.
|
| champ 1 et champ2 correspondent à des champs de ma table.
| Lorsque je change la valeur de champ2 dans ma table, je souhaiterais que
ça
| mette à jour le calcul des lignes créées uniquement APRES changement, pas
| pour celles qui existaient déjà. Est-ce possible ?
|
| Merci pour votre aide !
|
| Nesta
|
|
Avatar
Raymond [mvp]
.../...
il est possible également de calculer la valeur de champ3 dans la requête
source (à voir si c'est possible), ce qui évite le code.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix ‘07 – Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Raymond [mvp]" a écrit dans le message
de news:
Avatar
Nesta
Bonjour Raymond, et merci de t'intéresser à mon problème.

En fait, je ne cherche pas à "actualiser" l'affichage après une modification
de mes données sous-jacentes.
Ce que je souhaite, c'est que les enregistrements saisis avant le changement
de valeur ne subissent aucune modification. Une sorte d'archive qui ne bouge
plus.
Exemple :

Enregistrement N°1 :
champ1 : 10
champ2 : 20
champ3 (calculé) : champ1 + (2 * champ2)
champ3 = 50.

On change la valeur de champ2 pour 30.
Je souhaite que l'enregistrement N°1 soit toujours égal à 50.
Par contre, quand je rentre un 2è enregistrement :
Enregistrement N°2 :
champ1 : 10
champ2 : 30
champ3 (calculé) : champ1 + (2 * champ2)
champ3 = 70.

Je souhaite que les enregistrements qui sont rentrés avant changement ne
subissent pas de modifications.
Est-ce possible ? Ou alors, me faut-il créer une table Archives, par exemple
?
Merci d'avance !

Nesta


"Raymond [mvp]" a écrit dans le message
de news: %
.../...
il est possible également de calculer la valeur de champ3 dans la requête
source (à voir si c'est possible), ce qui évite le code.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Raymond [mvp]" a écrit dans le
message
de news:




Avatar
Raymond [mvp]
Bonjour.

redéfinissons d'abord un élémentaire:
qu'est-ce qu'un enregistrement pour toi ?
pour access et pour simplifier, un enregistrement est une ligne complète
d'une table ou d'une requête. chaque enregistrement peut contenir tout ou
partie de tous les champs définis en création de table.
si c'est bien ton cas, tu n'as qu'une seule solution, créer ta clé primaire
avec index multiple dont un champ sera l'indice et à chaque modification tu
ajouteras 1 à l'indice et tu crééras un nouvel enregistrement. ça va grossir
très très vite.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix ‘07 – Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Nesta" a écrit dans le message de news:

| Bonjour Raymond, et merci de t'intéresser à mon problème.
|
| En fait, je ne cherche pas à "actualiser" l'affichage après une
modification
| de mes données sous-jacentes.
| Ce que je souhaite, c'est que les enregistrements saisis avant le
changement
| de valeur ne subissent aucune modification. Une sorte d'archive qui ne
bouge
| plus.
| Exemple :
|
| Enregistrement N°1 :
| champ1 : 10
| champ2 : 20
| champ3 (calculé) : champ1 + (2 * champ2)
| champ3 = 50.
|
| On change la valeur de champ2 pour 30.
| Je souhaite que l'enregistrement N°1 soit toujours égal à 50.
| Par contre, quand je rentre un 2è enregistrement :
| Enregistrement N°2 :
| champ1 : 10
| champ2 : 30
| champ3 (calculé) : champ1 + (2 * champ2)
| champ3 = 70.
|
| Je souhaite que les enregistrements qui sont rentrés avant changement ne
| subissent pas de modifications.
| Est-ce possible ? Ou alors, me faut-il créer une table Archives, par
exemple
| ?
| Merci d'avance !
|
| Nesta
Avatar
Nesta
Bonsoir Raymond et merci pour ta réponse,

Nous avons la même définition d'un enregistrement.
Je comprends la solution que tu me donnes, et j'en vois aussi les limites
(volume de la table).
Je vais voir comment je peux faire autrement.
Merci en tout cas pour ton aide.


Nesta


"Raymond [mvp]" a écrit dans le message
de news:
Bonjour.

redéfinissons d'abord un élémentaire:
qu'est-ce qu'un enregistrement pour toi ?
pour access et pour simplifier, un enregistrement est une ligne complète
d'une table ou d'une requête. chaque enregistrement peut contenir tout ou
partie de tous les champs définis en création de table.
si c'est bien ton cas, tu n'as qu'une seule solution, créer ta clé
primaire
avec index multiple dont un champ sera l'indice et à chaque modification
tu
ajouteras 1 à l'indice et tu crééras un nouvel enregistrement. ça va
grossir
très très vite.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Nesta" a écrit dans le message de news:

| Bonjour Raymond, et merci de t'intéresser à mon problème.
|
| En fait, je ne cherche pas à "actualiser" l'affichage après une
modification
| de mes données sous-jacentes.
| Ce que je souhaite, c'est que les enregistrements saisis avant le
changement
| de valeur ne subissent aucune modification. Une sorte d'archive qui ne
bouge
| plus.
| Exemple :
|
| Enregistrement N°1 :
| champ1 : 10
| champ2 : 20
| champ3 (calculé) : champ1 + (2 * champ2)
| champ3 = 50.
|
| On change la valeur de champ2 pour 30.
| Je souhaite que l'enregistrement N°1 soit toujours égal à 50.
| Par contre, quand je rentre un 2è enregistrement :
| Enregistrement N°2 :
| champ1 : 10
| champ2 : 30
| champ3 (calculé) : champ1 + (2 * champ2)
| champ3 = 70.
|
| Je souhaite que les enregistrements qui sont rentrés avant changement ne
| subissent pas de modifications.
| Est-ce possible ? Ou alors, me faut-il créer une table Archives, par
exemple
| ?
| Merci d'avance !
|
| Nesta