2009-09-21 7 views
0

J'essaie de créer une base de données pour un programme hospitalier. J'ai deux tables qui sont liées dans une relation parent-enfant. J'ai un formulaire pour ajouter de nouveaux enregistrements (enregistrements qui n'ont pas encore d'enregistrement parent) et je veux créer des formulaires qui me permettent de voir tous les "enfants" d'un enregistrement parent et de me permettre de les éditer. Je veux que ce formulaire me permette de rechercher un enregistrement de telle sorte qu'un seul enregistrement parent puisse être retourné .Base de données parent-enfant (MS ACCESS)

S'il vous plaît voir ma base de données à http://rapidshare.com/files/283207434/IC.mdb.html

-check la forme appelée "TEST". Je ne peux pas le faire fonctionner de sorte que les contrôles de formulaire principal puissent agir comme des filtres pour afficher les enregistrements enfants dans le sous-formulaire. J'ai été à beaucoup de beaucoup de forum et mon manque de connaissance rend l'étiquette de forum presque inutile. Un ami m'a dit que ce service était rapide! S'il y a quelqu'un là-bas prêt à aider cette pauvre âme sur IM ou quelque chose, ce serait formidable! Mais je suis prêt à travailler avec vous ici :) J'espère avoir de vos nouvelles bientôt !!!

-Merci Zorkmid

+0

J'espère que ce n'est pas un vrai hôpital! L'accès serait un mauvais choix pour cela. – Joe

+0

C'est mes devoirs j'en suis sûr. –

+0

Oui, laissez-moi simplement exécuter ce fichier arbitraire. – recursive

Répondre

0

Il n'y a pas vraiment de code impliqué. D'après ce que d'autres forums m'ont dit, je n'ai pas besoin de code. Voici ce qu'a dit un MVP MS. J'ai essayé tout cela, et je ne peux pas identifier l'errior. Construire votre formulaire principal basé sur la table principale (parent). N'utilisez PAS de jointure sql

d'apporter des enregistrements enfants. Construisez simplement un formulaire sur cette table principale. Pour avoir le formulaire "sauter" pour passer au nom sélectionné, utilisez simplement l'assistant combo box et déposez une liste déroulante (suivez les instructions).

Maintenant, créez un formulaire continue basé sur la table enfant. Encore une fois, vous pouvez construire ce formulaire et basez-le sur la table des enfants. Encore une fois, n'utilisez pas une jointure sql, ni essayez d'apporter des champs ou des parties de la table parente.

Nous supposons que vous avez également correctement configuré la relation entre les deux tables dans la fenêtre de relation.

Maintenant, faites apparaître votre "principal" formulaire (celui basé sur la table parente) en mode de conception . Assurez-vous que l'assistant est activé, puis laissez tomber un contrôle de sous-formulaire et suivez les instructions de l'assistant (choisissez le bon formulaire basé sur le tableau enfant ). Ms-access va configurer cela pour vous. Le résultat final est que si vous naviguez dans le formulaire principal, le formulaire enfant (sous-formulaire ) suivra et affichera les enregistrements enfants corrects. et, à la place de en utilisant la navigation, si vous utilisez la zone de liste déroulante créée par l'Assistant, puis à nouveau lorsque le formulaire parent se déplacer vers un enregistrement, le formulaire enfant affichera les enregistrements correcte.

Tout ce qui précède peut être fait sans que vous ayez à écrire une ligne de code.

+0

Avez-vous spécifié correctement les contraintes de clé étrangère sur les tables?La seule chose à ne pas avoir de code est qu'il est impossible de demander, de répondre et de discuter d'un problème de codage spécifique. Votre assistant génère-t-il du code dans les coulisses peut-être? – Joe

+0

Les propriétés du formulaire qui effectuent ce travail sont les propriétés LinkChildFields et LinkMasterFields du cadre de sous-formulaire. Le cadre de sous-formulaire est le cadre qui contient votre sous-formulaire, PAS le sous-formulaire lui-même. Voir http://msdn.microsoft.com/fr-fr/library/aa196316(office.11).aspx –

+0

Si le sous-formulaire ne suit pas l'enregistrement que vous avez sélectionné dans le formulaire principal, c'est généralement parce que l'un de ces deux Les propriétés ne sont pas définies correctement, bien qu'il puisse y avoir d'autres causes. –