Ich habe eine MS Access-Datenbank mit drei Tabellen:
Foods (Id, Food_Name, Food_Desc)
Ingredients (Id, Ingredient_Name)
IngredientsFoods_mm (Id, Id_FoodsFK, Id_IngredientsFK)
... in einer Beziehung von vielen zu vielen, wo IngredientsFoods_mm ist der Tisch, der die beiden anderen verbindet.
Jetzt habe ich ein Formular mit einem Unterformular erstellt, um Lebensmittelzutaten zuzuweisen. Im Hauptformular gibt es die Food_Name und Food_Desc Felder und im Unterformular gibt es die Ingredient_Name Feld (ein Kombinationsfeld). Scheint gut zu funktionieren, aber das Problem ist, dass wenn ich eine Zutat eingebe, die bereits in der ist Ingredients Anstatt den entsprechenden Datensatz zuzuweisen, wird ein doppelter Datensatz erstellt.
Ich habe versucht, dies zu vermeiden, indem ich einen Index ohne Duplikate in der Ingredient_Name Feld, aber dann sagt mir Access, dass dies einen Integritätsfehler erzeugen würde.
Die Frage ist, wie ich vermeiden kann, dass doppelte Datensätze in der Datenbank erstellt werden Ingredients Tabelle bei der Eingabe von Informationen aus dem Unterformular?
Id_IngredientsFKwird bereits von derId_FoodsFKundId_IngredientsFK(Ich habe den von Ihnen bereitgestellten Link bereits gelesen und ja, die DB hat dieselbe Struktur). Die Sache ist, dass es bereits einige Aufzeichnungen im Internet gibtIngredientsTabelle, aber ich möchte sie zuweisen oder neue Datensätze erstellen und sie mit der verknüpfenFoodsTabelle.