|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 59 ![]() |
Bonjour,
Voici mon problème actuel, j'ai un formulaire principale "frmSelectPatient" qui contient un sous formulaire "ListePatiente" en mode feuille de données J'aimerais, lorsque je clic dans une ligne de se sous formulaire, sélection l'enregistrement (ou ce qu'il faut) puis au clic sur un bouton, ouvrir un autre formulaire "frmManagement" basé évidement sur l'enregistrement sélectionné. j'ai trouvé ceci dans le forum http://www.developpez.net/forums/d97...us-formulaire/ et cela dans la faq http://access.developpez.com/faq/?page=Forms#PassValeur mais je suis bien incapable d'adapter le tout. La clef primaire est pour les deux tables des formulaires "frmManagement" et "ListePatiente" sur un numéro auto "N°" Merci pour votre aide |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 238 ![]() |
Bonjour,
Peux-tu poster une BDD réduite compatible Access2000 pour que nous puissions dialoguer sur du concret ? |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 59 ![]() |
Bonjour Claude
Voici une base avec 1 seul enregistrement. Ouvre dont le formulaire "frmSelectPatient" tu y trouvera le sous formulaire d’où doit être faite la sélection, le bouton "Sélection" n'a pas de code, je pense qu'il en faut un pour "capturer" l'enregistrement pour que le deuxième bouton fonctionne "CRF Management", mais si on peut se passer du premier bouton ça me va. Merci pour ton aide |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 238 ![]() |
Je peux lire ta BDD, mais tu devrais y ajouter quelques données pour que je puisse tester.
Les tables tblCRFManagement, tblListePatiente, doivent contenir quelques exemples anonymes mais cohérents. Je te propose un double-clic sur un contrôle du sous-formulaire pour déclencher l'ouverture de tblCRFManagement OK ? |
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 59 ![]() |
Voila la base avec un peu de données
Je m'excuse pour cette question bête, mais quand tu dis, contrôle du sous formulaire, est-ce via un bouton ou un champs ? si c'est un bouton, va-t-il rester en place lors du défilement dans le sous formulaire ( il y aura plus de 3600 lignes ) Merci beaucoup |
|
|
00
|
|
|
#6 | ||||
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 238 ![]() |
Voici la marche à suivre :
Ouvrir "tblListePatiente sous-formulaire" en mode design. Sélectionner le contrôle [N°] ---> afficher les propriétés Ouvrir onglet événements, double-clic sur « sur double-clic » ---> "[Procédure événementielle]" apparaît Cliquer sur le bouton avec les … ----> l’éditeur de VBA s’ouvre et tu vois ceci : Code :
Tu remplaces tout par ceci Code :
- qui ouvre le formulaire - avec comme filtre la valeur du contrôle [N°] de l’enregistrement de "tblListePatiente sous-formulaire" sélectionné. Comment ça marche. Dans le formulaire "frmSelectPatient", lorsque tu double-cliques sur n'importe quel contrôle du sous-formulaire, tu ouvres "tblCRFManagement" au bon endroit. Si après tout cela il te reste un peu de temps lis ceci - conventions typographiques http://argyronet.developpez.com/office/vba/convention/ ça n'a rien à voir avec le problème actuel mais cela te servira certainement. Reviens si problème. |
||||
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 59 ![]() |
Je ne vais pas revenir juste pour te dire que j'ai un problème, je reviens avant tout pour te dire MERCI pour le temps que tu passes à m'aider (ainsi que les autres) alors MERCI
Mais effectivement, il y a un problème, le formulaire "tblCRFManagement" s'ouvre bien, je peux y entrer des données, mais elles ne sont pas liées au champs N° du sous-formulaire, c'est ce seul champs qui permet d'identifier à coups sûr les enregistrement, pour les autres, il y a malheureusement des doublons. Donc pour l'instant ca s'ouvre mais sans liaisons entre les données, si j'entre des données, par exemple, pour le 3eme enregistrement du sous formulaire dans "tblCRFManagement" je le ferme, je l'ouvre à nouveau les données ne sont plus là, mais elles sont attribuées au premier enregistrement du sous formulaire. Je ne sais pas si tu me suis, j'avoue c'est compliqué Merci encore !! |
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 59 ![]() |
Exemple, je viens d'ajouter des enregistrements, le dernier est 999-PPP, j'ai double cliqué, rempli le formulaire et sauvegardé. (j'ai ecris 999-ppp dans le champs if visit not done...)
A l'ouverture, le formulaire est vide, par contre si j'ouvre 898-RER qui est l'avant dernier enregistrement pour lequel je n'ai pas rempli de formulaire, je me retrouve avec l'enregistrement du 999-PPP J'espere que cette fois c'est plus clair Voir la base jointe Merci |
|
|
00
|
|
|
#9 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 238 ![]() |
Je ne comprends pas ce que tu expliques.
Chez moi, cela semble OK. Dans l'enregistrement pour la patiente [N°] = 8 je vois effectivement un 999-ppp mais j'ai l'impression qu'il résulte d'un test antérieur. Si je le supprime à la main dans la table et que je recommence la procédure avec le N° 9, le phénomène a disparu. Recommence un autre exemple et vois si tu peux reproduire l'anomalie que tu crains. Je reste à l'écoute. |
|
|
00
|
|
|
#10 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 59 ![]() |
Je viens de re faire un essai et il y a toujours un problème
J'ai vidé toutes les tables et ajouté des enregistrements pour tblListePatiente, le dernier enregistrement est 011-UIO j'ai donc rempli le formulaire via double clic pour cette enregistrement. En regardant dans la table tblListePatiente, la sous table n'affiche rien et en regardant dans la table tblCRFManagement, l'enregistrement précédemment ajouté pour 011-UIO est présent et la sous table liée est vide. Si par contre j'entre les données dans les tables les enregistrements coïncident bien. Voir la base jointe pour l'exemple. Merci |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 238 ![]() |
Je crains que ta BDD a quelques défaut de conception.
La clé de voûte du système a l'air d'être le [N°]. C'est à dire un autonum de tblCRFManagement. Si je regarde ton exemple de test, tu es parvenu à créer des patientes avec un N° qui n'est pas dans tblCRFManagement. Veux-tu essayer d'expliquer en quelques mots ce que tu veux faire. nb je reste à l'écoute encore 30' (chez nous, il sera alors 22:00) |
|
|
00
|
|
|
#12 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 59 ![]() |
Il est certain qu'il doit y avoir des problèmes dans la base, je ne suis pas un spécialiste.
Dans l'état ou elle est, elle est pratiquement terminée... puisque le but est de suivre pour chaque personne (la liste du sous formulaire) l'évolution de saisie des dossiers (CRFManagement) le reste ne sera que des états. La vue actuelle avec le sous formulaire est pour reprendre l'aspect d'une base existante (mais dont je n'ai pas accès, mde) pour ne pas perdre les personnes qui font la saisie de données. Actuellement pour identifier de manière unique chaque personne, c'est l'ensemble "Center et ID" j'ai donc utilisé N° qui est unique. Pour chaque personne il n'y qu'un enregistrement unique pour dans CRFManagement. Voila j'ai fait le tour. Je te remercie pour ton aide, bonne soirée, la mienne va commencer il est 15h42 Merci |
|
|
00
|
|
|
#13 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 238 ![]() |
Reviens si je peux t'aider.
Ce que je t'ai envoyé ne fonctionne correctement que si tu as la garantie qu'à un [N°] de patiente correspond un et un seul [N°] dans tblCRFManagement. Ce n'est manifestement pas le cas actuellement. Au plaisir. |
|
|
00
|
|
|
#14 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 59 ![]() |
Merci Claude
J'ai pu jeter un oeil sur l'autre base en production, le passage dans CRFManagement se fait via un filtre de sélection, mais comment pourquoi qu'est-ce que... reste sans réponse. Merci pour ton aide c'est très apprécié !! |
|
|
00
|
|
|
#15 | ||
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 238 ![]() |
Bonjour,
Vois la BDD en annexe. J'ai modifié ceci : 1° Supprimer les relations pour pouvoir modifier la structure des tables. On verra plus tard comment les rétablir. NB Dans ma réflexion, je n’ai pas considéré la table « tblAddNewPatient », on devrait essayer de s’en passer. 2° dans la table tblCRFManagement a) Supprimer tous les enregistrements b) Modifier le type de [N°] : autonum ---> numérique long 3° dans le formulaire "tblListePatiente sous-formulaire" le double-clic provoque : Code :
DoCmd.OpenForm "tblCRFManagement", acNormal, , "[N°] =" & Me.N°, , , Me.N° 4° dans le formulaire tblCRFManagement Cycle --> Enregistrement en cours Dans l’événement Sur activation, ce code : Code :
----------- Dis si le comportement actuel correspond à ce que tu recherches. PS Avec les noms que tu choisis pour nommer tes objets et tes contrôles, c’est garanti : tu va te mêler les pinceaux ! Dans un post précédent, je t’indiquais une adresse si tu avais le temps. Tu devrais prendre le temps … ça t’en fera gagner… Bonne journée. |
||
|
|
00
|
|
|
#16 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 59 ![]() |
Bon matin
Merci Claude, c'est exactement ce que je recherche, MERCI ! J'ai bien corrigé les noms des objets mais dans la base 2003, je vais repartir avec la tienne qui à l'avantage de fonctionner. La table "tblAddNewPatient" n'est pas utilisée, je vais la supprimer. En ce qui concerne les relations, je vais dire une bêtise, mais ça marche sans, faut-il vraiment en rajouter ? As-tu d'autres très bon conseils ? Merci encore |
|
|
00
|
|
|
#17 | |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 238 ![]() |
Citation:
Cela reste néanmoins pratique en cas de crevaison ! Cela dépend de ce que tu veux faire. Idem pour les conseils. Si tu veux plus, tu dois dire plus. Bon matin à toi aussi. |
|
|
|
00
|
|
|
#18 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 59 ![]() |
J'aime autant qu'il y ai au moins 1 roue de secours, mais j'ignore ou la placer
La suite pour moi est la création de rapport, il ne devrait pas y avoir d'autres tables. Il me manque un formulaire de recherche et puis c'est tout. Merci |
|
|
00
|
|
|
#19 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 238 ![]() |
Ok, il y a des exemples dans la FAQ.
Reviens si problème. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com