Bonjour,
Dans mon application, j'ai trois tables dans une relation many-to-many selon le schéma ci-dessous.
J'aimerais maintenant créer un formulaire ou je peux gérer ces relations. L'idée est d'avoir un premier champ table (ListeModeles) dans lequel s'affiche tous mes modèles mandats.
Lorsque je sélectionne un modèle, un second champ table (ListeVariations) est rafraichi et affiche toutes les variations de ce modèle (Champ table lié à la table ModelesVariations). Un champ de cette table (IDVariation) est un champ combo lié à ma table Variations.
Où je butte, c'est que j'aimerais pouvoir ajouter des enregistrements dans mon champ table ListeVariations afin d'ajouter des variations à un modèle mais je ne sais pas si cela est possible.
Idéalement, il faudrait que, lorsqu'une nouvelle ligne est créée dans mon champ table ListeVariations, le champ lié IDModeleMandat soit prérempli avec la valeur du champ IDModele de mon champ table ListeModeles.
Pour mon champ IDVariation, il faudrait que mon combo affiche les variations non utilisées pour ce modèle. j'ai pour cela déjà une requete..
ListeSupprimeTout(COMBO_VariationDisponible)
reqDispo est une Requête SQL =
[
SELECT
v.IDVariation,
v.LibelleVariation
FROM Variations v
WHERE NOT EXISTS (
SELECT 1
FROM Mandats_Variations mv
WHERE mv.IDVariation = v.IDVariation
AND mv.IDMandat = {pIDMandat}
)
ORDER BY v.LibelleVariation
]
reqDispo.pIDMandat = nIDMandat
SI PAS HExécuteRequêteSQL(reqDispo, hRequêteDéfaut) ALORS
Erreur("Chargement variations disponibles : " + HErreurInfo())
RETOUR
FIN
POUR TOUT reqDispo
ListeAjoute(COMBO_VariationDisponible, ...
reqDispo.LibelleVariation + gValeurMémorisée(reqDispo.IDVariation))
FIN
Ma question est d'avoir votre avis sur la meilleure façon de procéder. Est-ce que deux champs tables peuvent faire le job ou est-ce que je dois passer par un petit form supplémentaire pour ajouter des variations à un modèle. Je pourrais passer l'IDModeleMandat en paramètre et avoir un tableau d'ajouter avec les variations restantes mais idéalement, j'aimerais tout pouvoir faire depuis mon écran principal.
Merci de votre aide et excellente suite de journée à tous
Arnaud







Répondre avec citation




Partager