Am Friday 13 March 2009 11:03:29 schrieb Edgar Kuchelmeister:
> Hallo Robert,
>
> Robert Großkopf schrieb am 12.03.2009 16:03:
> > Wenn sie direkt miteinander über Primärschlüssel verknüpft sind, warum
> > sind es dann 2 Tabellen? Eine 1:1-Beziehung macht eigentlich nur bei viel
> > zu großen Tabellen Sinn.
>
> Weil es - wie ich geschrieben - habe eine Inventurtabelle ist.
> Von Jahr zu Jahr bleiben die Artikel ziemlich gleich, nur die Menge und
> der EK-Preis ändern sich. Also habe ich diese beiden Felder in eine
> externe Tabelle ausgelagert.

Deswegen gehört die Sache, die sich ändert, eigentlich ins Subformular und 
speichert mehr Daten als die Haupttabelle.
>
> Stimmt, will ich einen Datensatz neu anlegen, mache ich das zuerst in
> der Artikeltabelle, dann in der Inventurdatentabelle.

Deswege: Artikeltabelle ins Hauptformular.
>
> Das Subformular soll gar nicht editiert werden, nur das Hauptformular.
>
> Aus der Sicht des Formulars:
> MAIN: Inventurdaten
> ID(Primärschlüssel); Menge; Einzelpreis; Erfasst(Ja/Nein)
> SUB:Artikeldaten
> ID(Primärschlüssel); Bezeichnung; Einheit; VPE; Bemerkung; LieferantID;
> Geschäftsbereich
>
> Verknüpfung erfolgt 1:1 über Inventurdaten,ID: Artikeldaten, ID
> Gefiltert wird im SUB über Geschäftsbereich.

Wie werden die ID-Felder geschrieben? Vermutlich ist das Feld aus der 
Artikeldaten-Tabelle ein Autowert, das aus der davon abhängigen Tabelle aber 
nicht (wenn Du die ID-Felder verknüpfst würde das sonst nie funktionieren - 
ist wie 2 Autowert-Felder in einer Tabelle). Da die Artikeldaten zuerst da 
sind muss die ID der Artikeldaten an die Inventurdaten übergeben werden.
>
> Ich hab nun noch ein anderes Problem:
> Wenn ich Beziehungen einrichte Inventurdaten <-> Artikeldaten akzeptiert
> die HSQLDB kein kaskadiertes Update/Löschen es bleibt immer bei "keine
> Aktion" gelegentlich schmiert mir OOo dann auch ab, wenn ich was ändern
> will.
Dazu musst Du noch einmal klar machen, wie die ID-Felder definiert werden. 
Der "normale" Weg ist der, in einer der Tabellen ein Feld einzubauen, das das 
andere ID-Feld wiederspiegelt. Dann sind die Primärschlüssel voneinander 
unabhängig. Ich würde in die Inventurdaten ein Feld "artikeldatenID" 
einbauen - wenn die Inventurdaten von den Artikeldaten abhängig sind.

Gruß

Robert




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an