Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/04/2007, 01h03   #1
Invité de passage
 
Inscription : avril 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 10
Points : 2
Points : 2
Par défaut [Conception]Remplir un champ calculé

Bonsoir,

J'ai un formulaire access avec les champs suivants :

- prix unitaire
- quantité

Dans ma table j'ai les champs :

- prix unitaire
- quantité
- prix total

Je voudrais savoir quelle est la meilleure solution pour que quand je rentre mon prix unitaire et ma quantité dans le formulaire il remplisse automatiquement dans la table le champ prix total qui est donc calculé.

Merci d'avance.
Cyclone84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2007, 08h02   #2
Membre Expert
 
Avatar de Mahefasoa
 
Inscription : octobre 2003
Messages : 787
Détails du profil
Informations personnelles :
Âge : 37
Localisation : Madagascar

Informations forums :
Inscription : octobre 2003
Messages : 787
Points : 1 068
Points : 1 068
Envoyer un message via Yahoo à Mahefasoa Envoyer un message via Skype™ à Mahefasoa
Salut Cyclone (un nom qui fait trembler car déja 14 en a parcouru l'océan indien depuis la saison cyclonique 2006-2007!),
Bref, pour ton problème, tu as deux choix: la mise à jour directe ou celle qui est indirecte!
Pour la première solution, il faut que ton formulaire soit basé sur la table en question et que le champ prix total y soit (visible ou invisible). A l'événement sur Sortie ou Après MAJ des contrôles prix unitaire et quantité, tu ajoutes le code suivant:
Code :
1
2
 
Me.prix_total = nz(Me.prix_unitaire,0) * nz(Me.quantité,0)
Pour la solution en différée, c'est une mise à jour générale à exécuté lorsque le formulaire soit fermé ou à un autre événement de ton choix (il faut tout simplement que le dernier enregistrement soit enregistré (évident!). Là tu utilises une requête mise à jour qui va faire le calcul:
Code SQL MAJ :
1
2
 
UPDATE Table SET [prix total]=[prix unitaire]*[quantité] WHERE [prix total]<>[prix unitaire]*[quantité];
Cette requête ne met à jour (calcule) que les enregistrements où le prix total est différent du produit du prix unitaire par la quantité.

Bon courage et @+
__________________
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi!
Albert Einstein
Mahefasoa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2007, 13h06   #3
Invité de passage
 
Inscription : avril 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 10
Points : 2
Points : 2
Je te remercie beaucoup pour ta réponse. J'ai opté pour la première solution. Forcément n'ayant fais que très peu de VB et avec la fatigue j'ai complètement oublié le "Me" avant les champs.

Je passe le sujet en résolu.

Encore merci
Cyclone84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h42.


 
 
 
 
Partenaires

Hébergement Web