2012-07-10 1 views
0

Considérez ces deux tables dans Access 2010:Se référer à enregistrement dans SQL

ActionReg

ActionID  Taskt1  Actiont1 
    1   t1   t1a1 
    2   t2   t2a1 
    3   t3   t3a1 
    4   t1   t1a2 
    5   t1   t1a3 
    6   t2   t2a2 

TaskReg

ActionID  Taskt2  Actiont2 
    1   t1   
    2   t2   
    3   t3 

Je donne le champ Actiont2 les propriétés suivantes (dans l'onglet Recherche dans Vue de conception):

  • Affichage C ontrôle = ListBox
  • Row Type de source = Table/Requête

Maintenant, je veux cette requête retrive de Actiont1 en Actiont2 les enregistrements associés à la valeur de Task2 de sorte que le résultat sera:

TaskReg

ActionID  Taskt2  Actiont2 
    1   t1  (t1a1,t1a2,t1a3) 
    2   t2  (t2a1,t2a2) 
    3   t3  (t3a1) 

J'utilisé:

SELECT ActionReg.Action1 
FROM ActionReg, TaskReg 
WHERE [ActionReg]![Task1]=[TaskReg]![Task2]; 

Mais il récupère tous les enregistrements dans Action1 si Task1 = n'importe quel enregistrement dans Task2.

+0

Voulez-vous dire http://stackoverflow.com/questions/927256/-there-a-simple-way-of-populating-dropdown-in-this-access-database-schema/927588#927588? – Fionnuala

Répondre

0

Essayez d'utiliser INNER JOIN dans votre requête.

+0

J'ai utilisé: SELECT ActionReg.Action FROM ActionReg INNER JOIN TaskReg ON [ActionReg]! [Tâche] = [TaskRegr]! [Tâche] et obtenez le message "expression JOIN non supportée" –

+0

@ أحمد محروس Vous ne pouvez pas joindre sur les contrôles de formulaire . Je ne crois pas que ce soit une bonne réponse. – Fionnuala

Questions connexes