Calculs dans formulaire

Fermé
Adishaz Messages postés 25 Date d'inscription jeudi 14 juin 2012 Statut Membre Dernière intervention 24 janvier 2013 - 16 oct. 2012 à 15:36
net_papy Messages postés 1026 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 19 novembre 2016 - 17 oct. 2012 à 11:52
Bonjour,

J'ai un petit soucis qui me rends dingue et pourtant c'est pas faute d'y avoir réfléchit !!!
Dans ma table j'ai trois champs :
- Linéaire
- Largeur
- Rapport linéaire sur largeur

Dans mon formulaire j'ai ces trois mêmes champs. Je souhaiterais que lorsque je saisie une valeur de linéaire et de largeur, le champs "rapport linéaire sur largeur" se calcule automatiquement et se renseigne ainsi dans la table tout seul.

1. J'ai mis la formule "= [Linéaire]/[Largeur]" dans la source contrôle du champs "rapport..." dans le formulaire. Le calcul se fait mais ne se renseigne pas par la suite dans la table, donc inutile. Après réflexion ma tentative était tout aussi inutile car vouée à l'échec.

2. J'ai essayé la formule "[Rapport linéaire sur largeur]= [Linéaire]/[Largeur]" dans Événement - Après MAJ dans les propriétés des deux champs Linéaire et largeur. Dans ce cas rien ne se calcule.

3. J'ai essayé la formule "= [Linéaire]/[Largeur]" dans Événement - Après MAJ dans les propriétés du champ Rapport linéaire sur largeur. Walou encore une fois...

4. Je compte sur vous aidez moi svp.

5 réponses

blux Messages postés 26546 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 décembre 2024 3 318
16 oct. 2012 à 15:47
Salut,

quel est l'intérêt d'avoir une info que tu passes ton temps à recalculer ?

Si tu veux avoir la bonne valeur, tu fais une requête qui le calcule au moment où tu en as besoin, non ?

Parce que lors d'une mise à jour d'un des éléments de calcul, ton rapport sera faux si tu ne le recalcules pas et que tu ne le mets pas à jour.
0
Adishaz Messages postés 25 Date d'inscription jeudi 14 juin 2012 Statut Membre Dernière intervention 24 janvier 2013 2
Modifié par Adishaz le 16/10/2012 à 16:02
Chaque enregistrement de ma table correspond à un cours d'eau. Mon formulaire sert à saisir des données relatives à un cours d'eau. Le rapport linéaire sur largeur est calculé une seule fois pour chaque rivière en sachant que les éléments linéaire et largeur ne varient pas pour un cours d'eau mais entre les cours d'eau.

A chaque fois que je rentre des données sur un cours d'eau via mon formulaire, j'aimerais que ce rapport se calcule automatiquement et s'enregistre dans la table.

Parce-qu'ensuite je veux faire des requêtes selon ce rapport que je veux définir au préalable...

Je ne sais pas si c'est très clair.
0
blux Messages postés 26546 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 décembre 2024 3 318
16 oct. 2012 à 16:19
Si, c'est très clair.
Tu n'as pas à créer un champ supplémentaire, il te suffit juste de créer une 'vue' calculant ta valeur et d'y faire référence ensuite quand tu voudras exécuter des requêtes.

Tu vas créer une requête nommée V_Info_Cours_Eau, par exemple, avec ce texte :

SELECT Lineaire, Largeur, [Lineaire/Largeur] AS Rapport FROM T_Table;

Ensuite, chaque fois que tu voudras utiliser les données de la table, tu ne mettras pas le nom de la table, mais uniquement celui de la requête.

Ex :

SELECT Lineaire, Largeur, Rapport FROM V_Info_Cours_Eau WHERE Rapport >3;

Tu pourras même (et c'est fortement recommandé) baser ton formulaire sur cette requête/vue.
0
Adishaz Messages postés 25 Date d'inscription jeudi 14 juin 2012 Statut Membre Dernière intervention 24 janvier 2013 2
16 oct. 2012 à 16:29
Merci, je vais essayer de me dépatouiller avec tes conseils. En tout cas c'est cool d'avoir pris le temps de répondre.

Par contre non je ne peux pas baser mon formulaire sur cette requête, mon problème n'est qu'une infime partie de mon formulaire qui contient une centaine de champ à renseigner en tout et qui sont répartis sur 2 tables...
0
blux Messages postés 26546 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 décembre 2024 3 318
16 oct. 2012 à 16:58
Ca ne pose aucun problème, tu peux baser un formulaire sur une requête multi-table...
0
Adishaz Messages postés 25 Date d'inscription jeudi 14 juin 2012 Statut Membre Dernière intervention 24 janvier 2013 2
16 oct. 2012 à 17:16
Oui je viens de voir ça.

Par contre je peux observer ce rapport seulement sous la forme d'une requête. Or il faudrait que j'obtienne ce dernier sous forme d'une table avec le reste des données afin que je puisse importer cette dernière sous SIG.

C'est possible avec ta méthode de ressortir les données issues d'une requête sous forme d'une nouvelle table ?

J'ai essayé d'enregistrer la table affichée lorsque la requête est lancée mais ce n'est pas possible...
0
blux Messages postés 26546 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 décembre 2024 3 318
16 oct. 2012 à 19:52
Dans la liste des requêtes, clic-droit sur la requête -> exporter...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
net_papy Messages postés 1026 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 19 novembre 2016 103
16 oct. 2012 à 21:07
Bonjour,
expl dans les propriétés formulaire Source controle =[Totaldu]/2-[Acompte]/2+[Garantie]/2 pour un champs dans le formulaire appelé Versement
Tout cela s'affiche dans le formulaire mais pas dans la table.
Moi j'ai fait une deuxième table reprenant les intitulés des champs calculés.
Il faut mettre à jour cette deuxième table par une requête de mise à jour.ou par une macro copier vers.
Papy
0
blux Messages postés 26546 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 décembre 2024 3 318
16 oct. 2012 à 21:12
???
0
net_papy Messages postés 1026 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 19 novembre 2016 103
17 oct. 2012 à 11:52
0