Bonjour
Comme moult fois
, je rappelle l'existence du provider MS DataShape permettant de créer des recordsets hiérarchiques.
C'est la meilleurs façon que je connaisse pour traiter les aspects de liaisons hiérarchiques de tout type. De plus, la chaîne SQL est "récupérable" car elle est créée automatiquement par un DataEnvironment doté de d'objets Command hiérarchiques. C'est un bon support pour apprendre à écrire le code et le vérifier. Et je vous rappelle que ceci ce fait simplement par le biais d'une interface graphique, en utilisant une souris. Plus simple, je crois pas...
A l'utilisation, aucun problème de synchronisation entre les tables parents et enfants. La synchro n'est pas à gérer, c'est le provider Ms DataShape qui s'en charge. Chaque enregistrement parent est lié à tous ses enregistrements enfants, et eux seuls.
Ainsi, pour une deux tables (Mouvents', la table parent et DetailsMouvement, la table enfant, tu aurais une chaîne SQL comme ci-après. A toi d'adapter avec tes deux propres tables. Il n'y a qu'à modifier les noms (et mettre les guillements), ou mieux, le faire réellement avec un DataEnvironment.
1 2 3
| SHAPE {SELECT * FROM `Mouvements`} AS cmdMouv _
APPEND ({SELECT * FROM `DetailsMouvement`} AS cmdDetailsMvt _
RELATE 'Num_Mvt' TO 'Num_Mvt') AS cmdDetailsMvt |
Pour plus de renseignements, voir notemment mon praticiel sur les recordsets hiérarchiques, accessible par la signature.
Partager