PDA

Vollständige Version anzeigen : Fehler 3022 oder Fehler "kein Wert zuweisen"


Knut-Linke
25.09.2003, 12:54
Hallo,
ich habe hier ein Problem und habe zwei Möglichkeiten es zu lösen, bekomme aber immer unterschiedliche Fehlermeldungen.

Das Problem an sich ist folgendes:
Ich habe einen Rohstoff, welche beliebig viele Zutaten enthalten kann.
Also kann z.B. der Rohstoff Gelantine23 die Zutaten Gelantiene und Zucker beinhalten.
Diese Informationen werden abgespeichert. Das geschieht in zwei Tabellen (Rohstoffe und Zutaten).
Diese beiden Tabellen stehen in einer 1:N-Verknüpfung
Also ein Rohstoff kann N Zutaten beinhalten.

In der Tabelle Rohstoffe gibt es drei Spalten (ID, Rohstoffnummer, Bezeichnung). In der Tabelle Zutaten gibt es vier Spalten (ID, Rohstoffnummer, Bezeichnung, Anteil).

In der Tabelle Rohstoffe sind ID (autowert) und die Rohstoffnummer indexiert, damit ich auch jede Rohstoffnummer nur einmal eingeben kann.

Beide Tabellen werden in einem Formular, mit Unterformular zusammengefügt. Das HF baisert auf der Tabelle Rohstoff und das UFO auf den Zutaten.
Ich kann also einen Rohstoff anlegen und in dem UF die Zutaten eingeben.
Wenn ich diese nun durchführe, kommt die Fehlermeldung 3022.
Er sagt, dass es unmöglich ist, weitere DS in der Tabelle Zutaten anzulegen, ob wohl dort mehrer Zutaten eingegeben werden müssen.

Wenn ich nun die Indexierung in der Tabelle Rohstoffe rausnehme (Rohstoffnummer) kommt die Fehlermeldung, wenn ich Zutaten eingebe, "Sie können diesem Objekt keinen Wert zuweisen". Allerdings kann ich, wenn ich OK klicke, weiter Werte eingeben.
Wie kann ich diesen Fehler umgehen? Das mit der Indexierung ist eigentlich notwendig, damit die selben Rohstoffe nicht zweimal angelegt werden.

Hat da jemand eine Idee?

Morli
25.09.2003, 13:01
Ich würde hierfür mit drei Tabellen arbeiten!

- Rohstoffe
- Zutaten
- Rezepte

Die Tabelle Rezepte enthält dann den Rohstoff - ID und die Zutaten - ID.

Dein von Dir aufgeführter Aufbau entspricht IMHO nicht der eigentlich gängigen Struktur.

Morli

Nouba
25.09.2003, 13:03
Hallo,

ich würde es mal mit drei Tabellen versuchen. Du hast eine Tabelle Produkt (Rohstoff), und Du hast eine Menge (Tabelle) Zutaten, die in mehreren Produkten enthalten sein können. Ein Produkt kann mehrere Zutaten beinhalten. In einer Tabelle Rezept könnstest Du Produkt und Zutat mit Mischungsanteil über jeweils einen Fremdschlüssel vereinen.

Knut-Linke
25.09.2003, 13:08
Mit drei Tabellen wird das nicht funktionieren, denke ich.

Es handelt sich bei den Rohstoffen schon um ein Produkt, allerdings gehen diese in ein Rezept ein. Dieses Rezept kommt dann von einer Software auf der AS/400 per ODBC.

Der Auflauf würde dann so aussehen, dass ein Rezept ausgewählt wird, aus diesem werden die Rohstoffnummer ausgelesen --> Tabelle Rohstoffe werden die Namen ausgelesen und aus Tabelle Zutaten die Inhalte der Rohstoffe (wobei diese Zutaten auch speziell für diesen Rohstoff sind, wegen der Mengenangabe etc. also de Rohstoff besteht zu 50% aus A und zu 20% aus B und dann noch 30% C :) ).

Es muss nun möglich sein, entweder durch Eingabe der Rohstoffnummer den Namen des Rohstoffes oder die Zutaten zu erhalten. Daher werden beide Tabellen in einem Formular angelegt.

Oder habe ich da einen Gedankenfehler drin?

Nouba
25.09.2003, 13:38
Hallo,

für die "richtige Produkttabelle" würde in oben angedachtem Modell wiederum eine Art Rezeptur-Tabelle anfallen, es sei denn, jeder Rohstoff, wird nur von einem Produkt (das aus der AS400) verwendet. Dann könnte ein Fremdschlüssel auf diese Tabelle in der Rohstofftabelle enthalten sein.

Knut-Linke
25.09.2003, 14:45
Hallo nochmal,
meint ihr, dass das ganze über eine M:N-Beziehung dargestellt werden soll? Oder bin ich da auf dem falschen Dampfer?
Und wenn ja, wie kann man eine Kreuztabelle (oder wie heißt das) unter Access erstellen?
Und muss dann die Kreuztabelle als HF Basis dienen und die anderen beiden Tabellen als UFO?

Nouba
25.09.2003, 15:01
Hallo Knut,

ich kenne die genauen Gegebenheiten nicht. Wenn aber Deine Rohstoffe in verschiedenen Produkten (AS-400) verwendet werden, wäre eine M:N Beziehung zu bevorzugen. Falls Rezeptwechsel vorkommen, wäre sogar eine weitere Untergliederung IMHO vorteilhaft.

Die anderen Fragen sind jetzt etwas aus der Luft heraus gegriffen. Vielleicht schilderst Du das Szenario etwas eingehender und teilst den Zweck des ganzen Vorhabens und speziell der Kreuztabellen mit. Im Prinzip sollten sich aber alle Zutaten (wenn sie auf ein Blatt Paper passen) als Spaltenüberschriften zu den einzelnen Rohstoffen anzeigen, wobei der Anteil als Wert genommen werden kann. Gleiches gilt auch für die Produkte.