Bonjour,
Est-il possible de faire sous Access, une requête récursive permettant d'extraire des listes chainées d'une Nomenclature(BOM en anglais!)
J'ai la table suivante, qui est un sous-ensemble de nomenclature:
le BOM_Number=2000022 est la tête de nomenclature.
Je cherche tous les chemins menant, par exemple, de l'article 2000022 à l'article 2002005.
Le résultat à obtenir est le suivant:
2000246, 2003496, 2002395, 2002292, 2000506, 2000246, 2002005
2000246, 2003495, 2002875, 2002566, 2002565, 2000837, 2000246, 2002005
2000246, 2001770, 2001771, 2001772, 2001780, 2000246, 2002005
2000246, 2001527, 2001528, 2001533, 2000246, 2002005
Pour créer la table BOM5:
Pour la remplir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE TABLE [BOM5]( [BOM Number] int NULL, [Item] int NULL, [Mat Number] int NULL, [Qty] int NULL )
Attention: lancer autant d'INSERT INTO qu'il y a de SELECT!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 INSERT INTO [BOM5]([BOM Number], [Item], [Mat Number], [Qty]) SELECT 2000022, 20, 2001770, 1 SELECT 2000022, 30, 2003496, 1 SELECT 2000022, 50, 2001527, 1 SELECT 2000022, 60, 2003495, 1 SELECT 2000246, 2, 2002005, 1 SELECT 2000506, 1, 2000246, 4 SELECT 2000837, 1, 2000246, 7 SELECT 2001527, 10, 2001528, 1 SELECT 2001528, NULL, 2001533, 1 SELECT 2001533, 10, 2000246, 14 SELECT 2001770, 10, 2001771, 1 SELECT 2001771, NULL, 2001772, 1 SELECT 2001772, NULL, 2001780, 1 SELECT 2001780, 10, 2000246, 4 SELECT 2002292, 8, 2000506, 1 SELECT 2002395, 1, 2002292, 1 SELECT 2002565, 2, 2000837, 1 SELECT 2002566, 1, 2002565, 1 SELECT 2002875, 1, 2002566, 1 SELECT 2003495, 10, 2002875, 1 SELECT 2003496, 10, 2002395, 1
Merci d'avance.
Partager