2010-07-29 14 views
-1

Voici ce que je veux faire:Enregistrement d'une many-to-one dans Access 2007 formes

L'utilisateur doit être en mesure d'entrer un nouveau record de « vente » des informations de base (qui achète, etc.) , puis ajoutez des articles à cette vente (comme un panier). Il y a un maître "Les ventes" table et un "SaleContents" table, qui ressemble à:

Sales: ID int, nom de personne qui achète, etc.

SaleContents: FK SaleID, acheté, quantité, etc.

Comment puis-je faire une forme qui permettra à un utilisateur d'ajouter un nombre arbitraire d'articles achetés, puis, lors de l'enregistrement, il:

  1. fait une vente disque
  2. pour chaque article acheté, fait une recet SalesContent ord avec un FK pointant vers le dessus

Si l'utilisateur annule, ni l'enregistrement Vente ni l'enregistrement SalesContent ne sont créés.

Est-ce que je dois faire tout cela à la main dans VBA, ou est-ce qu'il y a des fonctionnalités dans Access pour m'aider?

Répondre

1

La manière la plus simple est d'utiliser un formulaire lié pour la vente et un sous-formulaire pour le contenu des ventes, cependant, vous devrez supprimer l'enregistrement si l'utilisateur annule. Ce sera plus simple si vous autorisez la suppression en cascade dans la relation entre le contenu de vente et de vente. Avec une configuration formulaire/sous-formulaire, le champ maître de lien (qui peut également être un contrôle) fournit la valeur du champ enfant de lien, dans ce cas, SalesID. L'ID de contenu peut être fourni avec un numéro automatique.

+0

Je me demande pourquoi il y a une vague de ces questions sur l'accès qui reflètent un manque d'appréciation de base pour les opérations les plus simples dans la conception d'applications Access? Ces gens n'ont-ils pas pris la peine de consulter les exemples de bases de données ou de modèles? J'hésite à les recommander en raison des nombreux aspects non optimaux de la conception, mais les éléments de base sont là (comme les structures de forme/sous-formulaire). –