Bonjour, petite question . J'ai créé une base de données concernant des tests sportifs.
Pour ce faire j'ai créé deux tables. La principale, appelée identité reprenant le nom, prénom et âge de naissance de l'élève
La seconde reprenant deux séries de 5 tests, donc 10 champs, l'année et la classe de l'élève. J'ai créé une clé d'index dans le fichier identité et créé une relation de un à plusieurs vers la table tests
Pour introduire les données un formulaire identité avec un sous-formulaire basé sur la table tests. Aucun problème tout va bien. Cependant, l'utilisateur aimerait bien que quand on se mette en affichage feuille de données qu'il puisse voir tous les champs sur une même ligne et non pas comme dans la feuille de données par défaut d'access, le fichier principal en première ligne et devoir cliquer sur la croix pour développer la partie tests.
Pour ce faire, j'ai créé un formulaire tabulaire basé sur une requête reliant les deux tables et permettant de faire apparaitre tous les champs de la table principale même si il n'y avait pas encore d'enregistrement associé.
Toujours pas de problème. Il voudrait également qu'en cliquant sur le champ nom du formulaire identité, on arrive automatiquement sur l\'enregistrement identique, comme cela se passe pour l'affichage feuille de données par défaut.
J'ai donc créé sur l'option double clic du champ élève du formulaire individuel (par élève)ce code ci:
Sur le formulaire listing basé sur la requête reliant les deux tables, celui-ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 \' \'------------------------------------------------------------ Function Macro3() On Error GoTo Macro3_Err DoCmd.OpenForm \"listing\", acNormal, \"\", \"\", , acNormal DoCmd.GoToRecord acForm, \"listing\", acGoTo, Forms!identité.Compteur DoCmd.Close acForm, \"identité\" Macro3_Exit: Exit Function Macro3_Err: MsgBox Error$ Resume Macro3_Exit End Function
Cela fonctionne. Seulement, le seul problème qu'il y a c'est que si j'ajoute une nouvelle fiche à partir du formulaire individuel comprenant le sous-formulaire et qu'après avoir sauvegardé l'enregistrement, je veux appliquer la même opération et me retrouver sur l'enregistrement correspondant dans le listing
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Function Macro4() On Error GoTo Macro4_Err DoCmd.OpenForm \"identité\", acNormal, \"\", \"\", , acNormal DoCmd.GoToRecord acForm, \"identité\", acGoTo, Forms!listing.Numéro DoCmd.Close acForm, \"listing\" Macro4_Exit: Exit Function Macro4_Err: MsgBox Error$ Resume Macro4_Exit End Function
Je reçois ceci comme message :
impossible d'atteindre l'enregistrement spécifié. Vous êtes peut-être à la fin d'un jeu d'enregistrement.
L'enregistrement existe pourtant et les champs compteur reliés ont été convenablement mis à jour. Comment résoudre ce petit problème ?
Pour les enregistrements préexistants, il n'y a aucun problème.
Merci d'avance
Partager