CALC-Daten (externer Tabellen) verknüpfen

Hallo,

folgende Problemstellung:

Beispielsweise 3 CALC-Dateien an 3 verschiedenen Speicherorten mit jeweils einer Tabelle:

".../A/A.ods" mit Tabelle "A":

A_Artikel_10 | A_ArtNr_10 | A_E-Preis_10 |
A_Artikel_30 | A_ArtNr_30 | A_E-Preis_30 |
A_Artikel_50 | A_ArtNr_50 | A_E-Preis_50 |
A_Artikel_70 | A_ArtNr_70 | A_E-Preis_70 |
A_Artikel_90 | A_ArtNr_90 | A_E-Preis_90 |

".../B/B.ods" mit Tabelle "B":

A_Artikel_10 | A_ArtNr_10 | A_E-Preis_10 | B_Anzahl_10 | B_G-Preis_10

A_Artikel_50 | A_ArtNr_50 | A_E-Preis_50 | B_Anzahl_50 | B_G-Preis_50

A_Artikel_70 | A_ArtNr_70 | A_E-Preis_70 | B_Anzahl_70 | B_G-Preis_70

".../C/C.ods" mit Tabelle "C":

A_Artikel_30 | A_ArtNr_30 | A_E-Preis_30 | C_Anzahl_30 | C_G-Preis_30

A_Artikel_90 | A_ArtNr_90 | A_E-Preis_90 | C_Anzahl_90 | C_G-Preis_90

Die Tabellen "B" und "C" beziehen sich mit den Zellinhalten "Artikel", "ArtNr" und "E-Preis" auf die jeweiligen Zellen in Tabelle "A".

Nach Modifikation der Tabelle "A", beispielsweise durch Einfügung von weiteren Zeilen,

A_Artikel_10 | A_ArtNr_10 | A_E-Preis_10 |
A_Artikel_20 | A_ArtNr_20 | A_E-Preis_20 |
A_Artikel_30 | A_ArtNr_30 | A_E-Preis_30 |
A_Artikel_40 | A_ArtNr_40 | A_E-Preis_40 |
A_Artikel_50 | A_ArtNr_50 | A_E-Preis_50 |
A_Artikel_60 | A_ArtNr_60 | A_E-Preis_60 |
A_Artikel_70 | A_ArtNr_70 | A_E-Preis_70 |
A_Artikel_80 | A_ArtNr_80 | A_E-Preis_80 |
A_Artikel_90 | A_ArtNr_90 | A_E-Preis_90 |

sollen die Inhalte "Artikel", "ArtNr" und "E-Preis" in den Tabellen "B" und "C" unverändert bleiben.

Wie muss ich die Zellbezüge von Tabelle "B" zu Tabelle "A" und von Tabelle "C" zu Tabelle "A" realisieren, damit die (ursprünglichen) Zellinhalte der Tabellen "B" und "C" erhalten bleiben, wenn ich die Tabelle "A" modifiziere durch z.B. Umsortierung oder Einfügung von zusätzlichen Zeilen ? Geht das überhaupt ?

Mit den Informationen im CALC-Handbuch (Kapitel 10 - Verknüpfen von CALC-Daten) habe ich es nicht hinbekommen. Sobald ich die Tabelle "A" zeilenmäßig umsortiere oder sobald ich in Tabelle "A" neue Zeilen einfüge, haben die Zellen in den Tabellen "B" und "C" andere (falsche) Inhalte.

Hat jemand eine Idee, wie man das machen könnte ?

Gruß
Hans-Werner

Hallo Hans-Werner,

Du merkst: Ich habe die gesamte Mail bei der Antwort gelöscht. Das hat
den Grund, dass ich nie darauf kommen würde, für eine Verknüpfung von
Tabellen unterschiedliche Tabellendokumente zu nutzen. Dein Beispiel ist
ein typisches Datenbankbeispiel mit Primärschlüssel und Fremdschlüssel.
Warum willst Du da mit Hilfe unterschiedlichen Tabellendokumente, die
eigentlich zum Kalkulationsmodul von LO gehören, ins offene Messer laufen?

Gruß

Robert

Hallo Robert,

erst mal Dank für Deine Antwort.

Nun, wenn man im CALC-Handbuch "Kapitel 10 - Verknüpfen von Calc-Daten" mit Unterpunkt "Das Einfügen von Tabellen aus einer anderen Tabellenkalkulation" gelesen hat, dann kommt man schon auf so eine Idee und empfindet sie auch nicht allzu abwegig, da diese Vorgehensweise nun mal in einem LO-Handbuch beschrieben ist.

Noch etwas Hintergrund-Information zur Problemstellung:

Im Laufe der Zeit habe ich mir - für meine Modellbahn-Elektronikschaltungen-Basteleien - eine CALC-Tabelle mit einer Liste erstellt, die elektronische Bauteile mit den in der vorherigen Mail aufgelisteten Angaben beinhaltet. Das andere sind die elektronischen Schaltungen in anderen Verzeichnissen mit ihren zugehörigen Bauteilelisten (Tabellen). Jetzt habe ich festgestellt, dass sich bei dem "Elektronikversender meines Vertrauens" einige Bestellnummern und Preise für verschiedene Bauteile geändert haben. Deshalb suche ich nun nach einer Möglichkeit, wie ich unter Nutzung der bereits vorhandenen großen CALC-Tabelle die kleinen CALC-Tabellen aktuell halten kann, ohne dass ich mich jetzt erst mal in die LO-Datenbankanwendung einarbeite.

Gruß
Hans-Werner

------ Originalnachricht ------

Hallo OoOHWHOoO!

Da ich mich ua 25 Jahre ausschließlich mit dieser Thematik befasst habe eine Gedankenansätze von mir:

Generell ist das Problem zu lösen, aber weder mit Base noch mit Math faktisch realisierbar.

Für solche Probleme sind sind SAP, SQL oder Adabas bestens gerüstet. Letzteres lässt sich hervorragend in LO implementieren und war früher mal als Lösungsansatz als Adabas C in StarOffice enthalten.

Ohne diese oben genannten Erweiterungen ist die Lösung innerhalb einer objekt- orientierten Pointer- Programmierung zu finden. Dies erfordert aber erweiterter Programmierkenntnisse.

Aber: Aufgrund der Datengrösse von nur 3 Layern/ Tabellen empfehle ich dir folgende Vorgehensweise: Erweitere die Datensätze um ihre Stammdaten. Bilde diese in einem übergeordneten Hauptdokument ab. Und entnehme aus diesem die notwendigen Lösungen. Das heißt Deine Liste müsste folgendermaßen aussehen:

X_A_Artikel_10 | X_A_Artikel_10 | X_A_Artikel_10 | X_A_Artikel_10 |

ArtNr_10 | x_E-Preis_10 |

X_A_Artikel_30 | X_A_Artikel_10 | X_A_Artikel_10 | X_A_Artikel_10 |

ArtNr_30 | x_E-Preis_30 |

wobei X für die Variable der Liste steht aus a.ods, b.ods,c.ods...
wobei x für die Variable der Ausgabe steht nach Tabelle4 Ergebnis

Diese Lösung für Artikel erzeugt im Hauptdukument einen "Flaschenhals" aus denen dann die entsprechenen Werte nach Zellen entnommen werden können.

Durch eine einfach Deklimation/ Benennung unterschiedlicher mehrfacher Zellen/ Inhalte schaffst du nur Chaos.

Grüsse

Hallo Mohing,

danke für Deine ausführlichen Hinweise, aber dieser Ansatz wäre für mein doch recht kleines Problem wohl etwas zu weit führend - und erweiterte Programmierkenntnisse habe ich leider nicht :-(( ...

Prinzipiell geht es ja um ein offensichtlich ungelöstes Problem im Bereich der Tabellenkalkulationsprogramme:

Beim Einfügen von Zeilen bleiben absolute Referenzen erhalten, aber durch Sortieren der referenzierten Tabelle gehen diese absoluten Referenzen verloren.

Im CALC-Handbuch heißt es dazu auf Seite 444:

"[...] Wenn eine Zelle während eines Sortiervorgangs verschoben wird, werden externe Referenzen mit der Zelle nicht aktualisiert. [...] Ebenso haben wir kein Tabellenkalkulationsprogramm gefunden, das, während der Sortierung, ein anderes Verhalten für Referenzen darlegt. [...]"

Aber vielleicht kannst Du ja mit Deinem langjährigen Fachwissen, wie von Dir angemerkt, den LO-Entwicklern einen Vorschlag unterbreiten, wie das genannte grundsätzliche Problem von Tabellenkalkulationsprogrammen gelöst werden kann. Es wäre sicherlich eine deutliche Bereicherung für das gesamte LO-Projekt.

Grüße
Hans-Werner

------ Originalnachricht ------

Hallo OoOHWHOoO!

Generell haben jede Programme ihre Grenzen. Tabellenkalkulation war die einfache, schnelle und effiziente elektronische Lösung Angebotsabschlüsse zu vereinfachen. Daher ist die externe Datenstruktur nicht absolut.  Es sind also zwei völlig andere Datenansätze gegeben. LO mit unterschiedlichen Abbildungsstrukturen und SAP/SQL mit Quelldaten, beruhend auf HEADER-Sätzen in einem mehr oder weniger ASCII-Format.

Lösung A) StarOffice 3.2 mit AdabasC

Lösung B) LO/Ooo mit Adabas , Kaufversion

Lösung C) SQL-Server, gibts als Freeware auch für den Desktop

Lösung D) SAP, sofern du Zugriff auf ein Firmennetzwerk hast

Letzte Lösung: halbautomatische Version

Zuweisung der Datensätze aus mehreren Dokumenten in ein Hauptdokument mit einmaligen und eindeutigen Benennungen. Hier würde sich eine gleichbleibende Artikelnummer als Bezug anbieten.

Art.-Nr | A- Gruppe |B-Gruppe | C- Gruppe | .....

wobei für Gruppe die Zellen für | Menge | Bezeichunung | Preis | stehen

Bei einem direkten Bezug zur einmaligen Artikelnummer und einmaligen Zellen lässt sich nun die Inhalte einer Tabelle entsprechend sortieren und ein Ergebnis exportieren.  Du vergibst in der bisherigen Struktur mehrfach die gleichen Variablen an.

Also zuerst eine Gemeinsamkeit finden, dann Gruppen- also Zusammenfassungen erstellen oder den Datensatz erweitern. Diese dann auf eindeutige Zellen verteilen. Dann die Sortierung eindeutiger Zellen durchführen. Zuletzt die Ausgabe einzelner Zellen in ein Dokument.  Bei unter 300 Positionen problemlos machbar.

Grüsse

PS: Eine vorherige Prüfung auf Vollständigkeit der eingelesenen Datensätze vereinfacht eine Fehlersuche ungemein. Ebenso eine erweiterte Logikprüfung innerhalb einer Sortierung nach Integer, String, Boolean oder gar Mengen und Bereiche innerhalb von Zelleninhalten.

Nachtrag: SQL könnte natürlich odt nur bedingt einlesen. Hier müssten die Datensätze möglicher Weise nochmals manuell eingegeben werden. Bei Word klappts problemlos.

Hallo OoOHWHOoO!

Ich hoffe Dir haben meine Ausführugen gefallen und Du hast Dein Problem zwischenzeitlich erkannt und konntest es nach meiner Anleitung beheben. Ich muss trotzdem noch mal hervor heben das Du mich in den Vergangenheit über diese Liste beschimpft und persönlich verumglimpft und beleidigt hast. Es wäre daher ein fairer Zug von Dir Dich bei mir und in aller Öffentlichkeit endlich ein Mal zu entschuldigen.

Ohne weitere Grüsse

Hallo Mohing,

wenn dem so ist

[1] "[...] Ich muss trotzdem noch mal hervor heben das Du mich in den Vergangenheit über diese Liste beschimpft und persönlich verunglimpft und beleidigt hast. [...]",

dann kannst Du das sicherlich durch Fakten belegen in der Form

[2] Subject (Thread) - From - Date - Mail-Inhalt (auf den Du Dich beziehst)

damit von mir (und gegebenenfalls von anderen Forum-Mitgliedern beziehungsweise der Forum-"Aufsicht") Deine obige Aussage überprüft und eingeordnet werden kann und gegebenenfalls entsprechende Maßnahmen ergriffen werden können. Eine Auflistung von nicht überprüfbaren Behauptungen (anstatt von überprüfbaren Fakten) ist in diesem Kontext leider nicht zielführend.

Damit deutlich ist, was ich mit "Fakten" meine, abschließend ein Beispiel. Nun ja, in diesem Beispiel beschimpfst Du zwar mich (als "Troll"), aber egal, es geht ja nur darum zu verdeutlichen, was mit "Fakten" (im obigen Sinne) gemeint ist:

Subject (Thread): Rüge Download-Page

Liebe Streithähne!

ich bitte darum, die persönlichen Probleme bilateral ev. auch mit einem
Mediator zu besprechen. Wenn nötig, kann ich jemanden fragen, der/die
behilflich ist.

Gruss Geert Closius

Geert Closius
Holstenstr. 12
25462 Rellingen
04101 200262
Geert.Closius@alice.de

Hallo Geert,

ja super, erst werde ich in aller Forums-Öffentlichkeit von einem Forum-Mitglied beschuldigt dieses Forum-Mitglied beschimpft, verunglimpft und beleidigt zu haben, und jetzt auch noch von Dir als Streithahn bezeichnet. Da fällt mir nichts mehr zu ein ...

Gruß
Hans-Werner

------ Originalnachricht ------

Hallo Geert,

Liebe Streithähne!

ich bitte darum, die persönlichen Probleme bilateral ev. auch mit einem
Mediator zu besprechen. Wenn nötig, kann ich jemanden fragen, der/die
behilflich ist.

wer bist du denn? Bist du hier der Listensheriff?
Wenn dir der Background fehlt, einfach Flossen weg von der Tastatur!