2009-06-03 7 views
0

J'ai une base de données avec 3 tables.Comment remplir la zone de liste déroulante avec des valeurs dans MS Access 2007

Manufact: ID, Nom, decription

Modèle: ID, Manufact_ID, Nom

Ordre: ID, Manufact_ID, Model_ID, quantité, date,

Dans Access je voudrais avoir la vue de table/datasheet normale pour l'ordre qui donne la sortie suivante

 

ID Manufact.Name Model_ID(combo box) Quantity Date 
1 LG   W3000H-BN   10  02-01-2009 
2 SAMSUNG  SyncMaster 205BW  5  02-20-2009 
3 SAMSUNG  SyncMaster 206BW  2  03-18-2009 
4 Iiyama  ProLite E1902S-B1  1  05-13-2009 

Mon problème est la zone de liste déroulante. Je veux avoir seulement la liste des modèles du fabricant sélectionné dans la liste déroulante. par exemple: uniquement les modèles SAMSUNG si SAMSUNG est sélectionné. J'ai essayé de définir la source de la ligne de consultation pour la colonne Model_ID comme

 
SELECT Model.ID,Model.Manufact_ID,Model.Name,Order.Manufact_ID \ 
FROM Model, Order WHERE Order.Manufact_ID = Model.Manufact_ID 

Ce modèle est en fait un INNER JOIN ordre SUR ... donner le mauvais résultat. Comment puis-je me référer à la valeur réelle de Order.Manufact_ID dans la commande Lookup SELECT de la ligne? C'est une valeur variable que je ne peux pas stringifier.

Merci!

strauss

+2

Si vous insistez sur une feuille de données, vous devez utiliser un formulaire. Vous ne pouvez pas faire ce que vous voulez dans une feuille de données standard. En effet, vous ne devriez pas avoir une combo intégrée dans une table. Et sur un formulaire avec plusieurs enregistrements, cela devient compliqué si LimitToList est défini sur TRUE, car le filtre de la liste de zone de liste déroulante pour l'enregistrement en cours entraînera d'autres enregistrements pour afficher des valeurs vides. –

+0

BTW, ce problème est la raison pour laquelle je ne rends pas les formulaires et les feuilles de données continues avec des listes déroulantes modifiables - il est trop difficile de valider les données avec des listes déroulantes filtrées. –

Répondre

0

Malheureusement, ce n'est pas possible. Une zone de liste déroulante sur un formulaire ne peut avoir qu'une seule source, il ne peut pas avoir des sources différentes pour chaque enregistrement sur un formulaire feuille de données ou multi-enregistrement.

+0

Euh, quoi? Cela me semble être une simple question en cascade. –

+2

En d'autres termes, une zone de liste modifiable ne peut contenir qu'une seule source de lignes à la fois, mais elle peut être modifiée au moment de l'exécution ou filtrée en fonction d'une valeur de l'enregistrement en cours. –

Questions connexes