从子表单输入数据时,如何避免 Access 表中出现重复记录?

从子表单输入数据时,如何避免 Access 表中出现重复记录?

我有一个包含三个表的 MS Access 数据库:

Foods (Id, Food_Name, Food_Desc)
Ingredients (Id, Ingredient_Name)
IngredientsFoods_mm (Id, Id_FoodsFK, Id_IngredientsFK)

...在多对多关系中,IngredientsFoods_mm链接其他两个表的表在哪里。

现在,我制作了一个带有子表单的表单,用于将配料分配给食物。主表单中有Food_NameFood_Desc字段,子表单中有Ingredient_Name字段(组合框)。似乎运行良好,但问题是,当我输入表中已有的配料时Ingredients,它会创建重复记录,而不是分配适当的记录。

我尝试通过在字段中设置没有重复的索引来避免这种情况Ingredient_Name,但是 Access 告诉我这会产生完整性错误。

问题是,如何避免Ingredients从子表单输入信息时在表中创建重复记录?

答案1

Ingredients我认为您的问题在于,当您应该在表中插入Foods.Id和表Ingredients.Id之间的关系时,您却试图将其插入表中IngredientsFoods_mm

确保您的关系定义明确,并且的主键由和IngredientsFoods_mm组成。Id_FoodsFKId_IngredientsFK

这里是对 Access 中关系的解释。它涵盖了如何构建正确的多对多关系模型。 https://support.microsoft.com/en-us/kb/304466

答案2

我有一张出租房产和其他东西的表格,但我想将数据标准化。我把每个表格中应该包含的所有数据放在一起,所以我知道要创建什么表格,但我不知道如何只为在不同场合租过 2 套房子的人输入一个数据?我是否应该输入一个数据而不输入另一个数据?

相关内容