Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sous-formulaire lié à une table intermédiaire

3 réponses
Avatar
CybSnoopy
Bonjour,

DB avec 3 tables :

T_Articles (clé primaire = Articles_ID / n° auto)
T_Références (clé primaire = Références_ID / n° auto)
(relation de type n --- n)
TL_Art_Réf = table intermédiaire (Art_Réf_ID = n° auto / clé primaire)
+ Articles_ID (Entier long / indexé avec doublons) + Références_ID (Entier
long / indexé

avec doublons)

Formulaire F_Articles (basé dur T_Articles) comprenant tous les champs de
T_Articles

ainsi qu'un SF en mode continu (SF_Réf) basé sur TL_Art_Réf (champ père =

T_Articles/Article_ID; champ fils = T_Art_Réf/Article_ID) pour saisir les
références

correspondantes de chaque article à l'aide d'un combo
basé sur T_Références et renvoyant Références_ID .

Or, après avoir saisi une référence pour un nouvel article, j'obtiens
un message d'erreur "Vous ne pouvez pas ajouter ou modifier un
enregistrement car l'enregistrement associé est requis dans la table
T_Articles".

Les données concernant l'article ne semblant pas être enregistrées dans la
table

T_Articles, j'ai essayé de rajouter un DoCmd.RunCommand acCmdSaveRecord en
sortie

du 1er champ de saisie du formulaire F_Articles mais sans résultat.

Merci de votre aide !

Snoopy

3 réponses

Avatar
Michel__D
Bonjour,

CybSnoopy a écrit :
Bonjour,

DB avec 3 tables :

T_Articles (clé primaire = Articles_ID / n° auto)
T_Références (clé primaire = Références_ID / n° auto)
(relation de type n --- n)
TL_Art_Réf = table intermédiaire (Art_Réf_ID = n° auto / clé primaire)
+ Articles_ID (Entier long / indexé avec doublons) + Références_ID (Entier
long / indexé

avec doublons)

Formulaire F_Articles (basé dur T_Articles) comprenant tous les champs de
T_Articles

ainsi qu'un SF en mode continu (SF_Réf) basé sur TL_Art_Réf (champ père =

T_Articles/Article_ID; champ fils = T_Art_Réf/Article_ID) pour saisir les
références

correspondantes de chaque article à l'aide d'un combo
basé sur T_Références et renvoyant Références_ID .

Or, après avoir saisi une référence pour un nouvel article, j'obtiens
un message d'erreur "Vous ne pouvez pas ajouter ou modifier un
enregistrement car l'enregistrement associé est requis dans la table
T_Articles".

Les données concernant l'article ne semblant pas être enregistrées dans la
table

T_Articles, j'ai essayé de rajouter un DoCmd.RunCommand acCmdSaveRecord en
sortie

du 1er champ de saisie du formulaire F_Articles mais sans résultat.

Merci de votre aide !

Snoopy




Si ton formulaire principal est basé sur la table [F_Articles] je
comprends pas la présence de ton
sous-formulaire "SF_Réf" basé sur la table [TL_Art_Réf].

Déja il faut être sur des relations, si j'ai bien compris un article
peut avoir plusieurs références (ok)
et tu considère aussi qu'une même référence peut référencer des
articles différents ?
Avatar
CybSnoopy
Bonjour,

La réponse à la question est, me semble-t-il, dans la description de la DB :

T_Articles (clé primaire = Articles_ID / n° auto)
T_Références (clé primaire = Références_ID / n° auto)

(relation de type n --- n) >> un article peut avoir plusieurs références /
une référence peut correspondre à plusieurs articles d'ou la table
intermédiaire !!!

TL_Art_Réf = table intermédiaire (Art_Réf_ID = n° auto / clé primaire)
+ Articles_ID (Entier long / indexé avec doublons) + Références_ID (Entier
long / indexé avec doublons)

Si je veux pouvoir saisir, dans un formulaire, les données d'un nouvel
article AVEC les références correspondantes, il me faut bien insérer, dans ce
formulaire, un SF basé sur TL_Art_Ref !?

Snoopy

"Michel__D" a écrit :

Bonjour,

CybSnoopy a écrit :
> Bonjour,
>
> DB avec 3 tables :
>
> T_Articles (clé primaire = Articles_ID / n° auto)
> T_Références (clé primaire = Références_ID / n° auto)
> (relation de type n --- n)
> TL_Art_Réf = table intermédiaire (Art_Réf_ID = n° auto / clé primaire)
> + Articles_ID (Entier long / indexé avec doublons) + Références_ID (Entier
> long / indexé
>
> avec doublons)
>
> Formulaire F_Articles (basé dur T_Articles) comprenant tous les champs de
> T_Articles
>
> ainsi qu'un SF en mode continu (SF_Réf) basé sur TL_Art_Réf (champ père =
>
> T_Articles/Article_ID; champ fils = T_Art_Réf/Article_ID) pour saisir les
> références
>
> correspondantes de chaque article à l'aide d'un combo
> basé sur T_Références et renvoyant Références_ID .
>
> Or, après avoir saisi une référence pour un nouvel article, j'obtiens
> un message d'erreur "Vous ne pouvez pas ajouter ou modifier un
> enregistrement car l'enregistrement associé est requis dans la table
> T_Articles".
>
> Les données concernant l'article ne semblant pas être enregistrées dans la
> table
>
> T_Articles, j'ai essayé de rajouter un DoCmd.RunCommand acCmdSaveRecord en
> sortie
>
> du 1er champ de saisie du formulaire F_Articles mais sans résultat.
>
> Merci de votre aide !
>
> Snoopy
>

Si ton formulaire principal est basé sur la table [F_Articles] je
comprends pas la présence de ton
sous-formulaire "SF_Réf" basé sur la table [TL_Art_Réf].

Déja il faut être sur des relations, si j'ai bien compris un article
peut avoir plusieurs références (ok)
et tu considère aussi qu'une même référence peut référencer des
articles différents ?
.



Avatar
Michel__D
Bonjour,

CybSnoopy a écrit :
Bonjour,

La réponse à la question est, me semble-t-il, dans la description de la DB :

T_Articles (clé primaire = Articles_ID / n° auto)
T_Références (clé primaire = Références_ID / n° auto)

(relation de type n --- n) >> un article peut avoir plusieurs références /
une référence peut correspondre à plusieurs articles d'ou la table
intermédiaire !!!




Ok, c'était pour être bien sur.

TL_Art_Réf = table intermédiaire (Art_Réf_ID = n° auto / clé primaire)
+ Articles_ID (Entier long / indexé avec doublons) + Références_ID (Entier
long / indexé avec doublons)

Si je veux pouvoir saisir, dans un formulaire, les données d'un nouvel
article AVEC les références correspondantes, il me faut bien insérer, dans ce
formulaire, un SF basé sur TL_Art_Ref !?




Alors c'est sur qu'il y a plusieurs manières de faire, mais moi
j'utiliserai un formulaire basé sur la table
intermédiaire, ensuite il y a 2 façons de procéder, soit alimenter les
2 autres tables en amont via un
formulaire dédié ou soit alimenter les tables à la demande à partir du
formulaire principal (un peu
plus compliqué).

Snoopy

"Michel__D" a écrit :


Bonjour,

CybSnoopy a écrit :

Bonjour,

DB avec 3 tables :

T_Articles (clé primaire = Articles_ID / n° auto)
T_Références (clé primaire = Références_ID / n° auto)
(relation de type n --- n)
TL_Art_Réf = table intermédiaire (Art_Réf_ID = n° auto / clé primaire)
+ Articles_ID (Entier long / indexé avec doublons) + Références_ID (Entier
long / indexé

avec doublons)

Formulaire F_Articles (basé dur T_Articles) comprenant tous les champs de
T_Articles

ainsi qu'un SF en mode continu (SF_Réf) basé sur TL_Art_Réf (champ père =

T_Articles/Article_ID; champ fils = T_Art_Réf/Article_ID) pour saisir les
références

correspondantes de chaque article à l'aide d'un combo
basé sur T_Références et renvoyant Références_ID .

Or, après avoir saisi une référence pour un nouvel article, j'obtiens
un message d'erreur "Vous ne pouvez pas ajouter ou modifier un
enregistrement car l'enregistrement associé est requis dans la table
T_Articles".

Les données concernant l'article ne semblant pas être enregistrées dans la
table

T_Articles, j'ai essayé de rajouter un DoCmd.RunCommand acCmdSaveRecord en
sortie

du 1er champ de saisie du formulaire F_Articles mais sans résultat.

Merci de votre aide !

Snoopy




Si ton formulaire principal est basé sur la table [F_Articles] je
comprends pas la présence de ton
sous-formulaire "SF_Réf" basé sur la table [TL_Art_Réf].

Déja il faut être sur des relations, si j'ai bien compris un article
peut avoir plusieurs références (ok)
et tu considère aussi qu'une même référence peut référencer des
articles différents ?
.