{Access} lien entre 2 tables
iroko45
Messages postés
215
Date d'inscription
Statut
Membre
Dernière intervention
-
iroko45 Messages postés 215 Date d'inscription Statut Membre Dernière intervention -
iroko45 Messages postés 215 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Le moteur de base de données Access ne peut pas trouver d'enregistrement dans la table << QUESTION1>> avec le champ << QUESTION2.fiche>> correspondant a la clé. Voici donc le message auquel je suis confronté.
Plusieurs étudiants ont répondu a un questionnaire. A cause du grand nombre de questions, j'ai divisé le questionnaire en 2 tables liés par le champ fiche dans une relation de un a un. Pour saisir les données, j'ai créé 2 formulaires (un pour chaque table). Après le formulaire 1, je passe au 2. Alors, quand il s'agit d'enregistrer les données, le message ci-dessus apparait.
Merci de bien vouloir m'aider
Le moteur de base de données Access ne peut pas trouver d'enregistrement dans la table << QUESTION1>> avec le champ << QUESTION2.fiche>> correspondant a la clé. Voici donc le message auquel je suis confronté.
Plusieurs étudiants ont répondu a un questionnaire. A cause du grand nombre de questions, j'ai divisé le questionnaire en 2 tables liés par le champ fiche dans une relation de un a un. Pour saisir les données, j'ai créé 2 formulaires (un pour chaque table). Après le formulaire 1, je passe au 2. Alors, quand il s'agit d'enregistrer les données, le message ci-dessus apparait.
Merci de bien vouloir m'aider
A voir également:
- {Access} lien entre 2 tables
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Verificateur de lien - Guide
- Tables des matières word - Guide
6 réponses
Bonjour iroko45,
Voici la syntaxe requise pour accéder au bon enregistrement dans le 2 ème formulaire.
Attention ! l'appel de recherche sur le nom des étudiants est déconseillé. Des homonymes sont toujours possibles.
Dim DocName As String
Dim LinkCriteriA As String
DocName = "<Nom du formulaire à ouvrir"
LinkCriteriA = "[RéfTable_1]=" & Me![RéfTable_2]
DoCmd.OpenForm DocName, , , LinkCriteriA
Cordialement
--
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
Voici la syntaxe requise pour accéder au bon enregistrement dans le 2 ème formulaire.
Attention ! l'appel de recherche sur le nom des étudiants est déconseillé. Des homonymes sont toujours possibles.
Dim DocName As String
Dim LinkCriteriA As String
DocName = "<Nom du formulaire à ouvrir"
LinkCriteriA = "[RéfTable_1]=" & Me![RéfTable_2]
DoCmd.OpenForm DocName, , , LinkCriteriA
Cordialement
--
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
Bonjour JJ,
Merci pour ta réponse. En clickant sur Creer un code evenementiel, Voici ce que j'ai saisir
Private Sub quesetu_2_Click()
Dim DocName As String
Dim LinkCriteriA As String
DocName = "quesetu 2"
LinkCriteriA = "[Reffiche]=" & Me![RéfTable_2]
DoCmd.OpenForm DocName, , , LinkCriteriA
End Sub
Je constate que je n'arrive plus a ouvrir le second formulaire avec le bouton qui me permettait d'y accéder. Avant la syntaxe, j'avais la macro incorporée ouvrirformulaire.
Merci de m'aider
Merci pour ta réponse. En clickant sur Creer un code evenementiel, Voici ce que j'ai saisir
Private Sub quesetu_2_Click()
Dim DocName As String
Dim LinkCriteriA As String
DocName = "quesetu 2"
LinkCriteriA = "[Reffiche]=" & Me![RéfTable_2]
DoCmd.OpenForm DocName, , , LinkCriteriA
End Sub
Je constate que je n'arrive plus a ouvrir le second formulaire avec le bouton qui me permettait d'y accéder. Avant la syntaxe, j'avais la macro incorporée ouvrirformulaire.
Merci de m'aider
Re
a) Dans la table liée, le champ s'appelle-t-il vraiment <RéfTable_2> ? Gros doute .....
LinkCriteriA = "[Reffiche]=" & Me![RéfTable_2] ....
b) La macro est inutile. Elle ne permet que l'ouverture et se positionne par défaut, suivant les cas, soit sur le premier enregistrement, soit sur le dernier. Ce n'est pas le bur recherché.
A+
a) Dans la table liée, le champ s'appelle-t-il vraiment <RéfTable_2> ? Gros doute .....
LinkCriteriA = "[Reffiche]=" & Me![RéfTable_2] ....
b) La macro est inutile. Elle ne permet que l'ouverture et se positionne par défaut, suivant les cas, soit sur le premier enregistrement, soit sur le dernier. Ce n'est pas le bur recherché.
A+
Re
J'ai la table QUESETU123 qui a pour formulaire quesetu1, la table QUESETU4 avec formulaire quesetu2. QUESETU4 est relie a QESETU123 par le champ reffiche.
Voici la syntaxe
Private Sub quesetu_2_Click()
Dim DocName As String
Dim LinkCriteriA As String
DocName = "quesetu 2"
LinkCriteriA = "[Reffiche]=" & Me![QUESETU4]
DoCmd.OpenForm DocName, , , LinkCriteriA
End Sub
Je n'arrive pas encore a acceder au formulaire 2.
Merci de m'aider
J'ai la table QUESETU123 qui a pour formulaire quesetu1, la table QUESETU4 avec formulaire quesetu2. QUESETU4 est relie a QESETU123 par le champ reffiche.
Voici la syntaxe
Private Sub quesetu_2_Click()
Dim DocName As String
Dim LinkCriteriA As String
DocName = "quesetu 2"
LinkCriteriA = "[Reffiche]=" & Me![QUESETU4]
DoCmd.OpenForm DocName, , , LinkCriteriA
End Sub
Je n'arrive pas encore a acceder au formulaire 2.
Merci de m'aider
Re, Re,
a) Si j'ai bien compris, j'en conclus que :
LinkCriteriA = "[Reffiche]=" & Me![Reffiche]
A tester donc ...
b) Pour des raisons d'organisation (tri) et de standardisation, je suggère de renommer les fichiers comme suit :
T_Quesetu_123
F_Quesetu_123
T_Quesetu_4
F_Quesetu_4
Nota: Pour des raisons techniques, les noms discontinus sont à proscrire pour les tables/Formularies. C.à.d. qu'aucun espace n'est souhaitable dans la suite de caractères.
A+
a) Si j'ai bien compris, j'en conclus que :
LinkCriteriA = "[Reffiche]=" & Me![Reffiche]
A tester donc ...
b) Pour des raisons d'organisation (tri) et de standardisation, je suggère de renommer les fichiers comme suit :
T_Quesetu_123
F_Quesetu_123
T_Quesetu_4
F_Quesetu_4
Nota: Pour des raisons techniques, les noms discontinus sont à proscrire pour les tables/Formularies. C.à.d. qu'aucun espace n'est souhaitable dans la suite de caractères.
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci jj pour tout.
voici avec la nouvelle syntaxe
Private Sub quesetu_2_Click()
Dim DocName As String
Dim LinkCriteriA As String
DocName = "quesetu 2"
LinkCriteriA = "[Reffiche] =" & Me![Reffiche]
DoCmd.OpenForm DocName, , , LinkCriteriA
End Sub
Je n'ai pas encore reussi.
Merci de m'aider
voici avec la nouvelle syntaxe
Private Sub quesetu_2_Click()
Dim DocName As String
Dim LinkCriteriA As String
DocName = "quesetu 2"
LinkCriteriA = "[Reffiche] =" & Me![Reffiche]
DoCmd.OpenForm DocName, , , LinkCriteriA
End Sub
Je n'ai pas encore reussi.
Merci de m'aider
Ce sera difficile de pouvoir envoyer le fichier. Il dépasse largement les 8 MO.
Si tu as d'autres recommandations ou conseils, je serais heureux de les recevoir. Je vais me débrouiller pour bricoler quelque chose.
Je te remercie pour tout.
A +
Si tu as d'autres recommandations ou conseils, je serais heureux de les recevoir. Je vais me débrouiller pour bricoler quelque chose.
Je te remercie pour tout.
A +
iroko45,
Faute de mieux, voici, via ci-joint, un petit fichier exemple qui pourrait vous donner des idées.
Quand il sera ouvert, il faut activer le menu affichage pour que le contenu de la BDD s'affiche.
Jetez un coup d'oeil au formulaire : consultation,
En choisissant la fiche d'un client dans la liste, l'affichage se met à jour avec les données de son dossier.
http://www.cijoint.fr/cjlink.php?file=cj200908/cijEn4GPkZ.zip
A+
Faute de mieux, voici, via ci-joint, un petit fichier exemple qui pourrait vous donner des idées.
Quand il sera ouvert, il faut activer le menu affichage pour que le contenu de la BDD s'affiche.
Jetez un coup d'oeil au formulaire : consultation,
En choisissant la fiche d'un client dans la liste, l'affichage se met à jour avec les données de son dossier.
http://www.cijoint.fr/cjlink.php?file=cj200908/cijEn4GPkZ.zip
A+