IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

fonction qui renvoie la valeur d'un champs en comparant la valeur d'autres champs


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 11
    Par défaut fonction qui renvoie la valeur d'un champs en comparant la valeur d'autres champs
    Bonjour a tous

    J'ai a nouveau un petit probleme de prog sous access 2003, je suis un débutant en la matiere.

    Cette fois-ci j'ai plusieurs champs calculés :

    andradite spessartine pyrope grossulaire etc
    10 20 50 20 teneur en % issue d'une formule
    20 15 35 30

    J'ai créé un champs calculé Dominant qui me renvoie la teneur la plus élevée

    andradite spessartine pyrope grossulaire Dominant
    10 20 50 20 50
    20 15 35 30 35

    Maintenant je souhaite créé un champs Molecule qui me renvoie le nom de la molécule dominante. Je souhaiterais obtenir le résultat suivant :

    andradite spessartine pyrope grossulaire Dominant Molecule
    10 20 50 20 50 pyrope
    20 15 35 30 35 pyrope

    Un grand merci d'avance.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    on fait quoi en cas d'ex aequo

    farine 30 g
    beurre 30 g
    moutarde 30g
    acide sulfurique 10 g ?

    dominant ?? molecule ??

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 11
    Par défaut
    Hello random,

    ce n'est qu'un exemple. En fait les calculs donnent des valeurs avec deux chiffres apres la virgule et il y a tres peu de chances que deux valeurs soient identiques mais il est vrai que que ta question merite reflexion.

    Je suis un debutant en VB et je dois avouer que je ne pas de reponse a ta question

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    sans réponse à la question je ne puis répondre à la tienne
    ce n'est pas un problème de vba c'est un problème de logique

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 11
    Par défaut
    en fait je compare les valeurs calculées de champs différents. Pour un enregistrement les valeurs a comparer sont toujours différentes et par conséquent on a un champ Dominant unique et un champ Mol également unique.

    Malgré tout si le probleme qu tu m'a soumis se posait le champ Mol recevrait la concaténation des champs contenant les val max

    soit pour la premiere ligne de la requete
    G1=656,1234 et G2=656,1234 Le champ Dominant doit me retourner 656,1234 et le champ Mol doit me retourner G1-G2

    J'y suis parvenu sans passer par VBA en créant une formule conditionnelle mais ACCESS me dit que la requete est trop complexe ou la memoire insuffisante. C'est pourquoi je voudrais traduire toutes mes formules en fonctions VBA décrites dans un module unique.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 11
    Par défaut
    Bonjour, je reviens a la charge pour vous demander de l'aide car je rame completement. D'ailleurs vous pouvez vous en rendre compte dans le code qui suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Function EqualString(ParamArray LesVariables() As Variant) As String
     
    Dim intVariable As Integer
    Dim xstring As String
     
    xstring = LesVariables(intVariable)
     
    For intVariable = 1 To UBound(LesVariables())
     
    If LesVariables(intVariable) = Dominant.Value Then xstring = LesVariables(intVariable).Name
     
    Next intVariable
    EqualString = xstring
    End Function
    Je souhaite créer une fonction qui contient en parametre les champs que l'on doit comparer avec le champ appelé Dominant. Le probleme est que je ne sais pas comment declarer le champs Dominant. Je dois prendre en compte sa valeur et le nom des champs comparés. En effet cette fonction doit retourner le nom du champs qui contient la valeur maximale inscrite dans le champs Dominant.

    Dois-je passer par ADO76654 ? Si Oui pourriez-vous m'expliquer comment fonctionne ADO ?

    Merci d'avance.

Discussions similaires

  1. Une fonction qui renvoie plusieurs valeurs ?
    Par chuckichucki dans le forum Langage
    Réponses: 9
    Dernier message: 14/01/2011, 13h49
  2. Fonction qui renvoie la dernière valeur d'une plage
    Par brunoSCP dans le forum Excel
    Réponses: 5
    Dernier message: 12/02/2010, 17h53
  3. Fonction qui renvoie deux valeurs
    Par Sarune dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 05/11/2008, 16h33
  4. Fonction qui renvoie deux valeurs
    Par Fractal LLG dans le forum Caml
    Réponses: 4
    Dernier message: 22/03/2008, 17h45
  5. [Système] Fonction qui renvoie plusieurs valeurs
    Par sebhm dans le forum Langage
    Réponses: 6
    Dernier message: 26/01/2007, 08h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo