J'ai un front-end d'Access 2003 qui permet d'utiliser un accès back-end sans problème. J'ai récemment changé le serveur principal Access pour utiliser à la place SQL Server 2005, mais je n'ai pas encore pu résoudre ce problème - toute aide serait appréciée.-à-plusieurs sur le formulaire parent/enfant est de limiter la saisie des données
J'ai deux tables dans plusieurs-à-plusieurs:
tblMembership <--> tblLinkPersonMembership <--> tblPerson
champs de clé primaire sont membershipId et personID, et la table de lien contient à la fois et rien d'autre.
L'application d'accès a une forme qui utilise tblMembership
comme recordsource. Il a une forme d'enfant dont recordsource est
SELECT *
FROM tblPerson INNER JOIN tblLinkPersonMembership
ON tblPerson.personId=tblLinkPersonMembership.personId;
Cela a bien fonctionné lors de l'utilisation d'une base de données Access (2003) en tant que back-end. Maintenant que le back-end est SQL Server 2005, je peux entrer dans 2 dossiers de personne sur le sous-formulaire, mais lorsque l'enregistrement à la troisième personne pour une adhésion donnée essaie de sauver, je reçois l'erreur suivante:
The Microsoft Jet database engine cannot find a record in the table
'tblPerson' with key matching field(s) 'tblLinkPersonMembership.personId'.
Si je ferme la former, ré-ouvrir et revenir à cette adhésion (qui a maintenant 2 personnes associées), je peux alors entrer 2 personnes de plus (personnes # 3 et # 4), mais si j'essaie d'entrer une 5ème personne, je reçois la même erreur. Je peux fermer le formulaire, rouvrir et ajouter 2 autres, ad nauseum.
Je suis un peu perplexe, et ce que la recherche que je l'ai fait à ce jour n'a rien trouvé. De l'aide?