none
[AC-2013] Equivalent de 'this.' / 'Me.' dans une requête SQL RRS feed

  • Question

  • Bonjour,

    Est ce que l'on a un équivalent de 'this' pour déterminer l'élément courant et donc accéder à ses membres ?

    Exemple dans mon cas :

    On a une table Animal avec un Id (clé primaire), un Nom, un Sexe, un Id de Type (chat, chien...), un Id pour le père et un Id pour la mère.

    On a aussi la table Type qui contient les types d'animaux (chat, chien...).

    Lorsque j'affiche la liste déroulante pour la filiation parent/enfant, il me filtre bien Mâle/Femelle car c'est codé en dur (Sex=1 ou Sex=2 selon la requête).

    Par contre, si je veux rajouter le filtre qui dit : dans le Type = celui de l'élément en cours ?

    (sachant que je suis en mode remplissage de table et non en mode formulaire).

    Merci,

    Vincent

    mercredi 12 novembre 2014 08:33

Toutes les réponses

  • Bonjour,

    Ce n'est pas bien clair...

    Si c'est codé en dur c'est que la liste n'a pas de source de données de type "Table/Requête" mais de Type "Liste de valeurs". Pour autant, elle peut être bindé à un champ pour alimenter la table source de formulaire.

    Pour le coté SQL, vous le savez sans doute, vous pouvez user d'alias.

    SELECT A.Id, A.Nom, T.Type FROM Animaux AS A, Types AS T ON A.IdType = T.IdType
    Je ne pense pas avoir répondu à votre demande mais je n'ai pas bien assimilé la question.



    Argy

    mercredi 12 novembre 2014 11:32
    Modérateur
  • Voici la table simplifiée :

    Table des animaux

    On constate que pour la mère du champ 10, il liste les femelles  mais de tous les types.

    Requête SQL :

    SELECT IdPK, NomAnimal, T_Animaux.SexeFK FROM T_Animaux WHERE ((T_Animaux.SexeFK)=2); 
    Et je voudrais pouvoir rajouter un critère : WHERE T_Animaux.TypeFK = This.TypeFK.

    mercredi 12 novembre 2014 12:40
  • Ah Ok, mais non, dans la table, ce n'est pas vous qui décidez...

    Si vous voulez opérer de la sorte sur une grille style Excel (et donc style table pour Access) il vous faut concevoir un formulaire continu où les contrôles de type liste déroulante seront alimenté dynamiquement en fonction du critère que vous voulez.

    J'ai écrit un tuto là dessus, ça pourrait vous aider :

    Concevoir une liste qui en alimente une autre


    Argy

    mercredi 12 novembre 2014 15:12
    Modérateur