|
| Recherche dans un tableau de structure récurcif |
| Débuté par Stéphane, 28 jan. 2025 10:41 - 2 réponses |
| |
| | | |
|
| |
Membre enregistré 2 messages |
|
| Posté le 28 janvier 2025 - 10:41 |
Bonjour,
j'aimerai faire une recherche dans un tableau de structure récurcif.
Voici la structure :
ST_REF_STOCK est une Structure sRef est une chaîne xQteNomenclature est un numérique xQteStock est un numérique xQteFabrication est un numérique xQteVente est un numérique tabRef est un tableau de Variant FIN
La déclaration du tableau : tabRefStock est un tableau de ST_REF_STOCK
Voici ce que cela donne quand c'est rempli :

La question est comment faire pour récupérer l'indice de la référence "FIX PLSABS"
j'ai essayer de la manière suivante :
TableauCherche(tabRefStock,tcLinéaire,":tabRef.sref","FIX PLSABS")
mais rien ne fonctionne (j'arrive à récupérer 1er niveau PLSABS400X150)
Si quelqu'un à une idée ou une méthode différente  |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 029 messages |
|
| Posté le 28 janvier 2025 - 11:02 |
Bonjour, Avez-vous jeté un coup d'œil aux tables hiérarchiques. Vous deviez trouver une méthode dans la doc. CdltMessage modifié, 28 janvier 2025 - 11:02 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 2 messages |
|
| Posté le 28 janvier 2025 - 12:22 |
Bonjour,
Merci pour ce retour, mais c'est principalement pour être utiliser avec des services, donc sans IHM, d’où le problème 
Voici un début de réponse : utilisation de procédure récursive
ex:
pour écrire une valeur sur une référence : piEcritValeur(tabRefStock1,"FIXATION PLENUM ABS",2) pour lire cette valeur : piLitValeur(tabRefStock1,"FIXATION PLENUM ABS"))
PROCÉDURE INTERNE piEcritValeur(tabRef,sRefCherche,xQteStock) POUR TOUT tabRefStock DE tabRef SI tabRefStock.sRef = sRefCherche ALORS tabRefStock.xQteStock = xQteStock SORTIR FIN SI tabRefStock.tabRef..Occurrence > 0 ALORS piEcritValeur(tabRefStock.tabRef,sRefCherche,xQteStock) FIN FIN FIN PROCÉDURE INTERNE piLitValeur(tabRef,sRefCherche) nValeurRetour est un entier POUR TOUT tabRefStock DE tabRef SI tabRefStock.sRef = sRefCherche ALORS nValeurRetour = tabRefStock.xQteStock SORTIR FIN SI tabRefStock.tabRef..Occurrence > 0 ALORS nValeurRetour = piLitValeur(tabRefStock.tabRef,sRefCherche) FIN FIN RENVOYER nValeurRetour FIN |
| |
| |
| | | |
|
| | | | |
| | |
|