Logique.
Si tu mets =[PrixAchat]*1.4 ca veut dire que =[PrixAchat]*1.4 est ta source de données. Or, toi ce que tu veux, c'est non seulement faire le calcul, mais en plus le stocker dans la table.
Donc il faut que la source de données de ton controle soit ton champ PrixEntreprise
Pour faire le calcul, plusieurs méthodes :
- Macro de type Excel4. Avantage c'est de la "programmation" en Francais et c'est tres assisté. Inconvenient, sur de gros traitement ca montre des limites
- VBA. Avantage, on peut tout attaquer de la suite Office. Inconvenient, c'est du VBA
- Requetes mise a jour. Avantage, ca te fera comprendre comment fonctionne un SGBD. Mais dans ton exemple, tres simple, aucun interet. Vois plus les requetes pour effectuer ton calcul sur tous tes enregistrements. Inconvenient, faut maitriser un petit peu les SGBD, meme Access et en plus, pour pouvoir les lancer, il faut soit utiliser des Macros, soit du VBA, soit ta petite main mais l'automatisation n'est plus de mise.
La requete serait interressante pour qu'une fois que tu as tout saisi, qu'il te fasse le calcul pour tous tes enregistrements. Mais je doute que ce soit cette solution la plus pertinente avec ton exemple.
- Tu te mets en mode création de ton formulaire.
- Il va deja falloir réaffecter tes controles a tes données.
1 Sur ton controle PrixEntreprise, click droit, propriété.
2 Ton formulaire doit etre basé sur une table, donc dans la fenetre "Feuille de propriété", tu vas sur l'onglet "Données", zone "Source controle", tu pioches le champ PrixEntreprise de ta table
3 Idem pour PrixParticulier
En macro :
4 Sur le controle du champ PrixAchat, tu vas sur l'onglet "Evenements', tu click sur les "..." de la zone "Après mise a jour"
5 Une boite de dialogue apparait, tu sélectionnes "Generateur de Macro"
6 Une nouvelle fenetre de Macro apparait. Dans le ruban tu click sur "Nom de macro" pour faire apparaitre cette colonne
7 Nom de Macro : MajApPrixAchat
7-1 Action : DéfinirValeur
7-2 En bas apparait deux zones :
7-3 Element : Tu clicks sur les "..." et tu vas chercher ton formulaire (Formulaire, Formulaire chargé, Nom de ton formulaire). Dans la colonne du centre apparaissent tous tes controles. Tu sélectionnes "PrixEntreprise " et tu valides
7-4 Expression : =[PrixAchat]*1.4
8 Tu enregistres ta macro sous le nom Macro1
9 Tu fermes, et tu vas voir quand la zone "Après mise a jour" il t'a marqué : Macro1.MajApPrixAchat
10 Pour le PrixParticulier tu répètes de 7-1 à 8 en ajoutant une nouvelle ligne "DéfinirValeur" mais tu iras chercher le controle de "PrixParticulier"
Donc ta macro serait comme ca :
MajApPrixAchat DéfinirValeur
DéfinirValeur
Sinon pour le VBA :
Idem jusqu'a 5
5 Une boite de dialogue apparait, tu sélectionnes "Generateur de Code"
6 Une nouvelle feuille apparait avec :
Code :
- Private Sub PrixAchat_AfterUpdate()
- End Sub
|
7 tu mets ce code :
Code :
- Private Sub PrixAchat_AfterUpdate()
- PrixEntreprise = PrixAchat * 1.4
- PrixParticulier = PrixAchat * 1.5
- End Sub
|
8 Tu enregistres
9 Tu fermes, et tu vas voir quand la zone "Après mise a jour" il t'a marqué : Procédure événementielle
Si tu as besoin de plus d'aide, n'hesite pas.
Message édité par SuppotDeSaTante le 22-10-2010 à 15:14:53
---------------
Soyez malin, louez entre voisins !