{Access} lien entre 2 tables

Fermé
iroko45 Messages postés 215 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 13 décembre 2023 - 8 août 2009 à 13:05
iroko45 Messages postés 215 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 13 décembre 2023 - 8 août 2009 à 21:25
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

6 réponses

Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
8 août 2009 à 13:34
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.
0
iroko45 Messages postés 215 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 13 décembre 2023 2
8 août 2009 à 13:54
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
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
8 août 2009 à 14:13
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+
0
iroko45 Messages postés 215 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 13 décembre 2023 2
8 août 2009 à 14:25
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
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
8 août 2009 à 15:00
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+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
iroko45 Messages postés 215 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 13 décembre 2023 2
8 août 2009 à 15:57
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
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
8 août 2009 à 16:37
Re, re, re, iroko45,

Déposez votre travail sur ce site SVP : www.cijoint.fr
et communiquez_moi en retour l'adresse qui vous sera communiquée .....

Je vais jeter un coup d'oeil sur ce qui ne va bien ou pas ....

A+
0
iroko45 Messages postés 215 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 13 décembre 2023 2
8 août 2009 à 17:21
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 +
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
8 août 2009 à 18:25
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+
0
iroko45 Messages postés 215 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 13 décembre 2023 2 > Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014
8 août 2009 à 20:00
Merci JJ pour le fichier
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112 > iroko45 Messages postés 215 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 13 décembre 2023
8 août 2009 à 20:50
Il n'y a pas quoi,
Je profite de l'opportunité pour transmettre une version plus propre que je viens de dépoussièrer et plus facile à consulter.

http://www.cijoint.fr/cjlink.php?file=cj200908/cij2S6JLHc.zip

Cordialement
0
iroko45 Messages postés 215 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 13 décembre 2023 2 > Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014
8 août 2009 à 21:25
Merci infiniment
0