Hallo Armin,
>
> Die wirklichen Unterscheidungsmerkmale, die in beiden Tabellen zur
> Auswertung herangezogen werden können, sind die Artikelnummern.
> Die ID wurden bei der Übernahme aus Calc automatsch erzeugt.
>
Gibt es einen bestimmten Grund, warum Du MySQL wählst? Wenn Du nur in 
OpenOffice arbeiten solltest und keine Netzwerkfunktionalität benötigst ist 
die integrierte HSQLDB vermutlich die bessere Wahl - dort funktionieren 
Relationen usw. in der gewünschten Weise.

> > Gründe eine neue MySQL-Tabelle, indem Du die Tabelle aus Calc einfach in
> > den Tabellencontainer ziehst. Du lässt Struktur und Daten in die neue
> > Tabelle importieren und übernimmst als Primärschlüssel die ID 8bzw. ein
> > unverwechselbares Teil, z.B. die Artikelnummer.
> > Jetzt hast Du 2 Tabellen.
>
> O.k. ich habe jetzt eine Tabelle für 2007 und eine für 2008.
>
> > Starte das Abfragemodul, nimm in die Abfrage beide Tabellen auf:
> > Tabelle1.Artikelnr, Tabelle1.Bezeichnung, Tabelle1.Preis (Pr2007),
> > Tabelle2.Pr2008,Tabelle1.PG
>
> Hier meine erste Unsicherheit.
> Ich verwende "Abfrage in der Entwurfsansicht erstellen", oder?

Ja, Abfrage in der Entwurfsansicht. Dort die beiden Tabellen auswählen.
>
> > Tabelle 1 wird mit Tabelle 2mit einem left Join verbunden (kann an den
> > Verbindern eingestellt werden). Dadurch werden alle Datensätze aus
> > Tabelle 1 übernommen, auch die, für die in Tabelle 2 keine Werte (Artikel
> > also) existieren. Probiere die Abfrage aus. Du hast jetzt eine Tabelle,
> > in der lediglich die Werte fehlen, die in 2008 neu hinzugekommen sind.
>
> Muss ich dazu die Verbindungen (2007.Artikelnr mit 2008.Artikelnr
> 2007.Bezeichnung mit 2008.Bezeichnung    und 2007.Preis mit 2008.Preis )
> herstllen?

Nur die Verbindung 2007.Artikelnr mit 2008.Artikelnr muss gezogen werden. 
Schließlich sind nur die gleich. Wenn die Artikelnummern wie oben mit dem 
LEFT JOIN verbunden werden, dann wird im Ergebnis alles an Artikelnummern 
angezeigt, was 2007 vorhanden war. 
>
> Oder muss ich nur die 2007.Artikelnr mit 2008.Artikelnr miteinander
> verküpfen?

Genau das. Die Relationen kannst Du bei MySQL völlig vergessen - das 
funktioniert aus mir nicht ersichtlichen Gründen zur Zeit noch nicht (Kann an 
den Tabellentypen liegen, die über den Javaconnector ausgewählt werden, kann 
am Datenbankmodul von OpenOffice liegen ...) Relationen definierst Du durch 
Deine Abfragen und Verküpfungen innerhalb der Formulare.
>
> Wass mach ich mit der nun entstandenen 3. Tabelle?

Du müsstest jetzt eine Abfrage haben, die Du in den Tabellencontainer gezogen 
hast. Hierin befinden sich alle Daten von 2007, ergänzt um den neuen Preis 
von 2008. Das würde ich erst einmal überprüfen.
>
> > Mit einer zweiten Abfrage ermittelst Du aus Tabelle 2 die Werte, die 2008
> > neu hinzugekommen sind:
> > Tabelle2.Artikelnr usw...
Das heißt: Im Entwurfsmodus wird eine Abfrage erstellt, bei der Du zuerst die 
anzuzeigenden Felder auswählst. Vielleicht ist die Auswahl aber auch gar 
nicht nötig, da doch sowieso alle Tabellenfelder benötigt werden.

Dann musst Du im Entwurfsmodus auf den SQL-Modus umschalten (Steht SQL auf 
einem Button). Du erhältst die SQL-Konsole.
Der Komplettext in der Konsole müsste ungefähr so sein:
SELECT * FROM 2008 WHERE Artikelnr NOT IN (SELECT Artikelnr FROM 2007)

Anmerkung: Bei externen Datenbanken schiebt OpenOffice immer noch den Namen 
der Datenbank dazu. Also vielleicht auch:

SELECT * FROM Datenbank.2008 WHERE Artikelnr NOT IN (SELECT Artikelnr FROM 
Datenbank.2007)

Abfrage testen. Die WHERE-Formulierung ist nichts anderes als die Verknüpfung, 
die Du bisher mit der Maus ziehst. Zum Erlernen sollstest Du ruhig bei der 
ersten Abfrage auch einmal den SQL-Text ansehen, der durch das Mausgeschiebe 
in der Entwurfsansicht produziert wird.

Alle Artikelnummern von 2007 werden durchgesucht. Ist die Nummer nicht dabei, 
so wird der Datensatz in der neuen Abfrage aufgelistet.
> >
> > Mit den beiden Abfragen hast Du den größten Teil geschafft.
> > Jetzt Abfrage 1 nehmen und in den Tabellencontainer ziehen: Neue Tabelle
> > gründen, ID als Primärspalte gegebenenfallls hinzufügen lassen. 

Das hast Du ja anscheinend schon erstellt. Wobei die ID nicht notwendig wäre. 
Der Primärschlüssel wäre ja eigentlich die Artikelnummer.

> > Abfrage 2 
> > nehmen und Daten an die neu gegründete Tabelle anfügen.

Die 2. Abfrage wird in den Tabellenkontainer gezogen. Es kommt eine 
Aufforderung, was denn mit den Daten geschehen soll. Du lässt Sie an die 
Ergebnisse der ersten Abfrage anhängen, nachdem Du die Felder durch die Auf- 
und Ab-Tasten richtig zugeordnet hast.

++++++++++++

Eine gute Konstruktionsgrundlage für eine Datenbank ist das Ganze allerdings 
nicht. Was machst Du im nächsten Jahr? Same Procedure ...

Die folgende Konstruktion würde das umgehen:

Tabelle 1:
IDart Artikelnr Bezeichnung PG
(Wobei ich nicht weiß, was PG bedeutet - hängt es mit dem wechselbaren Preis 
zusammen, gehört es in Tabelle 2)
Tabelle 2:
IDpr    IDart Preis Datum
Die Arbeit mit so einer Tabellenkonstruktion ist natürlich nur dann sinnvoll, 
wenn Du ein Formular baust. In dem Formular ist dann nach Eingabe der Artikel 
ein schön gefülltes Auswahlfeld. Du wählst den Artikel aus, es werden die 
vergangenen Preise angezeigt, Du schreibst den aktuellen Preis mit Datum 
darunter.

So etwas ähnliches hatte ich als Beispiel ins Netz gesetzt:
http://www.scoolonline.de/download/openoffice.html
(2 Datenbanken, die kleinere "Inventur.zip" ist die, die gut zu so etwas 
weiterentwickelt werden kann)

Gruß

Robert

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an