Accueil > Forum > > > > Afficher la valeur minimale entre plusieurs champs/colonnes en ACCESS
Afficher la valeur minimale entre plusieurs champs/colonnes en ACCESS
mercredi 15 avril 2009 à 17:17:16 |
Afficher la valeur minimale entre plusieurs champs/colonnes en ACCESS

mladenski
|
Bonjour. J'ai le problème suivant sur ACCESS: J'effectue une requête qui me donne plusieurs champs contenant chacun un prix relatif à une même opération (donc pas possibilité de faire autrement au niveau conceptuel, il me faut bien plusieurs champs avec plusieurs tarifs pour chaque partenaire). J'aimerais rajouter un champs supplémentaire ( MIN) qui affichera le prix minimal de ces champs mais je n'arrive pas à le faire sur ACCESS. J'ai essayé avec la fonction Min et MinDom, mais je pense qu'elles ne marchent que pour une seule colonne. Dès qu'on doit comparer plusieurs colonnes ces fonctions s'avèrent inutiles. En fait, j'ai déjà rencontré ce problème auparavant et je l'ai résolu avec des VraiFaux (iif). Bon, c'est pas trop compliqué de comparer deux colonnes mais maintenant c'est presque impossible comme j'ai plusieurs colonnes. Un petit aperçu sur Excel: | | Prix Partenaire 1 | Prix Partenaire 2 | Prix Partenaire 3 | Prix Partenaire 4 | MIN | | Opération 1 | 1 ¤ | 54 ¤ | 4 ¤ | 4 ¤ | 1 ¤ | | Opération 2 | 213 ¤ | 6 ¤ | 2 ¤ | 3 ¤ | 2 ¤ | | Opération 3 | 8 ¤ | 7 ¤ | 67 ¤ | 2 ¤ | 2 ¤ | | Opération 4 | 8 ¤ | 56 ¤ | 4 ¤ | 2 ¤ | 2 ¤ | | Opération 5 | 96 ¤ | 6 ¤ | 4 ¤ | 6 ¤ | 4 ¤ | | Opération 6 | 48 ¤ | 8 ¤ | 5 ¤ | 1 ¤ | 1 ¤ | | Opération 7 | 48 ¤ | 4 ¤ | 1 ¤ | 2 ¤ | 1 ¤ |
Merci de votre aide.
|
|
jeudi 16 avril 2009 à 10:34:24 |
Re : Afficher la valeur minimale entre plusieurs champs/colonnes en ACCESS

mladenski
|
J'ai déjà trouvé une solution et je la poste pour tous ceux qui se trouve dans la même solution que moi. En fait, il faut créer une fonction en VBA. Sur le net j'ai trouvé une fonction qui retrouve la valeur maximale à partir de plusieurs champs de valeurs:
Public Function VariableMax(ParamArray LesVariables() As Variant) Dim intVariable As Integer Dim varMax As Double For intVariable = 1 To UBound(LesVariables()) If LesVariables(intVariable) > varMax Then varMax = LesVariables(intVariable) Next intVariable VariableMax = varMax End Function Je l'ai adaptée à mes besoins parce que dans la comparaison je voulais ignorer les valeurs zéro et bien sûr je voulais la valeur minimale.
Public Function VariableMin(ParamArray LesVariables() As Variant) Dim intVariable As Integer Dim varMin As Double varMin = LesVariables(0) For intVariable = 0 To UBound(LesVariables()) If LesVariables(intVariable) < varMin Then If LesVariables(intVariable) <> 0 Then varMin = LesVariables(intVariable) End If End If Next intVariable VariableMin = varMin End Function
Maintenant, il me reste à trouver le nom du champs. Si quelqu'un a une idée, allez-y. Merci.
|
|
jeudi 16 avril 2009 à 12:02:23 |
Re : Afficher la valeur minimale entre plusieurs champs/colonnes en ACCESS

mladenski
|
Voili, voilà. J'ai la fonction suivante qui me convient parfaitement. Bon, je ne récupère pas le nom des champs et je les rentrent en dur dans une matrice mais pour l'instant ça marche. Public Function ChampsMin(ParamArray LesVariables() As Variant) ' Fonction qui compare plusieurs champs et donne le champs de la valeur minimale en ignorant les zéros Dim intVar As Integer Dim varMinTab As Double Dim i, j As Integer Dim TabNoms TabNoms = Array("Champs1", "Champs2", "Champs3", "Champs4", "Champs5", "Champs6") varMinTab = LesVariables(0) i = 0 j = 0 For intVar = 0 To UBound(LesVariables()) If LesVariables(intVar) = 0 Then j = j + 1 End If If LesVariables(intVar) < varMinTab And LesVariables(intVar) <> 0 Then i = i + 1 + j varMinTab = LesVariables(intVar) End If Next intVar If i > 5 Then i = 5 End If ChampsMin = TabNoms(i) End Function
|
|
vendredi 17 avril 2009 à 13:13:24 |
Re : Afficher la valeur minimale entre plusieurs champs/colonnes en ACCESS

aieeeuuuuu
|
Réponse acceptée !
Bonjour,
pourquoi pas possibilité de faire autrement au niveau conceptuel ?
personnellement, je pense qu'il aurait été préférable de faire 3 tables : un table "operation" (IDOperation, Nom) une table "partenaire" (IDPartenaire, Nom) et un table "prix" (IDOperation, IDPartenaire, Prix)
et avec ca, plus de souci pour faire la requete, mais surtout, plus de souci le jour ou il faudra ajouter un partenaire. car avec la structure actuelle, ajouter un parternaire, oblige a modifier la strucuture de la base, ce qui n'est vraiment pas une bonne idee (il faudra d'ailleur modifier la requete mentionnée ci-dessus...)
|
|
vendredi 17 avril 2009 à 14:17:44 |
Re : Afficher la valeur minimale entre plusieurs champs/colonnes en ACCESS

mladenski
|
Faire 3 tables revient au même (je précise néanmoins que je traville sur des requêtes et non pas sur des tables, les tables d'information étant des fichiers liés sur un serveur). La fonction Min(Max) classique ne me donnera qu'une seule ligne et moi,je veux comparer plusieures colonnes et afficher toutes les lignes de la requête. En gros, les tables (ou requêtes) qui contiennent les infos des partenaires auront un champs/colonne "PRIX" que je veux comparer. Peu importe s'il est dans la même table/requête ou pas, la fonction Min(Max) ne me sert pas. Puis, pour le rajout des partenaires, ce n'est vraiement pas compliqué (je viens même de rajouter un). Il faut tout de même connaître la fonction, j'admets, mais ce n'est pas du tout compliqué. Merci quand-même pour l'intérêt.
|
|
vendredi 17 avril 2009 à 17:59:47 |
Re : Afficher la valeur minimale entre plusieurs champs/colonnes en ACCESS

aieeeuuuuu
|
Réponse acceptée !
non, faire 3 tables ne reviendrait pas du tout au meme, car alors, on pourrait utiliser la fonction MIN, avec laquelle on pourrait quand même sortir plusieurs resultats en faisant un "group by".
pour l'ajout de partenaire, je ne parlais pas de complexité, mais plutot de souci : quand on change la structure de la base, les requetes qui y font reference pourraient ne plus fonctionner de la meme facon. je ne connais pas les tenants et aboutissants, mais devoir modifier la structure d'une base de données pour ajouter un partenaire n'est pas une bonne solution.
|
|
vendredi 17 avril 2009 à 21:31:17 |
Re : Afficher la valeur minimale entre plusieurs champs/colonnes en ACCESS

mladenski
|
D'accord pour la solution.
Effectivement, dans un cas simple comme ça (opération, partenaire, prix) il faudrait faire cela. Maintenant, en termes de visibilité et de représentation, je préfère la première solution parce que les utilisateurs ont besoin de voir tout le raisonnement càd d'avoir à tout moment sous leurs yeux combien ça coûte si on passe par le premier partenaire, le second etc...et ceci en une seule ligne par opération. En plus, quand j'ai dis 'opération' je voulais simplifier. Il s'agit en fait d'une commande. Alors il faut compter des miliers et des miliers de lignes par mois. Si on les multiplie par le nombre de partenaires (puisqu'on voudra voir le tarif de chacun et en plus avoir le MIN) ça va faire un peu trop.
Mais, effectivement j'ai appris des choses. Merci pour les réponses et bon week-end! Cordialement
|
|
lundi 20 avril 2009 à 09:54:00 |
Re : Afficher la valeur minimale entre plusieurs champs/colonnes en ACCESS

aieeeuuuuu
|
mais de rien...
je me permet quand meme d'insister, faire trois tables n'empeche pas de présenter un tableau tel qu'il est au dessus avec une requete assez simple. d'autre part, si vous avez "des milliers et des milliers de lignes par mois", mieux vaut avoir une base bien conçue au départ, sinon les perfs pourrait gener (surtout sous access). et les eventuelles evolutions risquent fort d'etre douloureuses.
Je ne sais pas ou vous en etes dans votre projet, mais si vous en etes encore en phase d'analyse, je pense qu'il n'est pas trop tard pour reconsiderer la chose...
|
|
lundi 20 avril 2009 à 10:30:20 |
Re : Afficher la valeur minimale entre plusieurs champs/colonnes en ACCESS

mladenski
|
Bonjour. Tous les jours la boîte perds de l'argent, alors on s'en passe de la phase d'analyse. L'outil démontre bien les différences et là où l'on peut agir. A long terme, la solution sera de ne pas du tout utiliser d'access.
Cordialement
|
|
lundi 20 avril 2009 à 10:53:51 |
Re : Afficher la valeur minimale entre plusieurs champs/colonnes en ACCESS

aieeeuuuuu
|
ha oui...
les contextes difficiles ou il faut faire vite, et on fera bien plus tard...
je connais aussi :)
bonne continuation
|
|
Cette discussion est classée dans : access, champs, partenaire, colonnes, opération
Répondre à ce message
Sujets en rapport avec ce message
Saisie dans un champ de formulaire vers BDD sous Access [ par alala ]
Bonjour tt le monde! Je débute en Access et je dois créer un formulaire de saisie du personnel et un formulaire de visualisation du personnel.<BR
Manipulation des champs OUI/NON [ par impact74 ]
Bonjour à toutes et à tous !!!Je bloque sur un problème, je vais tenter d'être claire.J'ai une table dans access qui contient les colonnes : PC | Ap
Problème de copnversion Access -> SQL Server 2000 champs Date [ par NHenry ]
BonjourJ'ai un problème : Lorsque j'utilise l'assistant d'importation/exportation de données entre Access et SQL Server 2000, il me convertit les cha
Ajout d'un description d'un champs pour access en sql [ par Jbs106 ]
Salutationvoilà mon souci:Dans access, quand on visualise une table, miz à part le nom et le type du champs, il est possible d'ajouter un commentaire
creer une table de plus de 11 colonnes vers Access par programmation [ par romagny13 ]
Bonjour,- j'utilise visual studio 2005 en C# et je passe par System.Data.OleDb pour executer ma requete -lorsque j'execute une requete permettant de
comment calculer la somme des champs en access [ par bougreine ]
merci de m'aider pour calculer la somme des champs,la differance entre deux champs,le taux disponible entre deux montant prévision et réalisation en p
Aide pour requete sql upadate avec access 0.7 [ par stefoulefou ]
Bonjour, J'aimerai de l'aide pour faire une requête SQL avec access 0.7 J'ai une table 1 qui a une colonne avec des caractères. Mais beaucoup d'enreg
INSERT SUR BASE ACCESS [ par e0601132 ]
Bonjour, Je travaille sur une application excel ou je voudrais remplir à une base de données access. Dans cette base de donnée j'ai un champs numero
find dans access et remplacer dans champs [ par chaudier37 ]
bonjour je travaille dans access par vba et sql. je remplis mes tables par des formulaires. tout va bien. dans un formulaire j'ai trouvé une syntaxe p
Access 2003 [ par standardlife1 ]
Salut, g un petit problème a propos des formulaires dans Access 2003. g une table 'software' dans la quelle je fais l'inventaire de tous les software
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|