Werte aus anderer Tabelle vorschlagen und ergänzen

Hallo Liste,

ich muss gerade für mein Studium relativ umfangreiche Artenlisten (Botanik) erstellen. Da es relativ mühsam ist, zich wissenschaftliche Namen sowie die Trivialnamen und zugehörige Zeigerwerte herauszusuchen und einzugeben, habe ich mir aus frei verfügbaren Artenlisten zwei Tabellen erstellt. Die eine (Arten.ods) enthält einen eindeutigen Index, den wissenschaftlichen Namen und den Trivialnamen. Die andere (Zeigerwerte.ods) enthält wieder einen eindeutigen Index und die dazugehörigen Zeigerwerte (6 Spalten mit Werten zwischen 0 und 12). Nun möchte ich in einer dritten Tabelle, also meiner eigentlichen zu erstellenden Artenliste, z.B. "Achillea" eingeben woraufhin LibO dann in Arten.ods nachguckt und mir alle mit "Achillea" beginnenden Arten vorschlägt. Wenn ich mir dann eine der vorgeschlagenen Arten ausgesucht habe (z.B. "Achillea collina"), soll LibO den Namen um "collina" ergänzen und gleichzeitig in einem weiteren Feld den Trivialnamen ("Hügel-Wiesenschafgarbe") aus Arten.ods ergänzen und auch die Zeigerwerte (sofern vorhanden, das ist leider nicht immer der Fall) aus der Zeigerwerte.ods holen und ebenfalls in die dafür vorgesehenen Spalten eintragen.
Wie kann ich das am einfachsten bewerkstelligen?

Vielen Dank,

Simon

Hallo Simon,

ich muss gerade für mein Studium relativ umfangreiche Artenlisten
(Botanik) erstellen. Da es relativ mühsam ist, zich wissenschaftliche
Namen sowie die Trivialnamen und zugehörige Zeigerwerte herauszusuchen
und einzugeben, habe ich mir aus frei verfügbaren Artenlisten zwei
Tabellen erstellt. Die eine (Arten.ods) enthält einen eindeutigen Index,
den wissenschaftlichen Namen und den Trivialnamen. Die andere
(Zeigerwerte.ods) enthält wieder einen eindeutigen Index und die
dazugehörigen Zeigerwerte (6 Spalten mit Werten zwischen 0 und 12). Nun
möchte ich in einer dritten Tabelle, also meiner eigentlichen zu
erstellenden Artenliste, z.B. "Achillea" eingeben woraufhin LibO dann in
Arten.ods nachguckt und mir alle mit "Achillea" beginnenden Arten
vorschlägt. Wenn ich mir dann eine der vorgeschlagenen Arten ausgesucht
habe (z.B. "Achillea collina"), soll LibO den Namen um "collina"
ergänzen und gleichzeitig in einem weiteren Feld den Trivialnamen
("Hügel-Wiesenschafgarbe") aus Arten.ods ergänzen und auch die
Zeigerwerte (sofern vorhanden, das ist leider nicht immer der Fall) aus
der Zeigerwerte.ods holen und ebenfalls in die dafür vorgesehenen
Spalten eintragen.
Wie kann ich das am einfachsten bewerkstelligen?

Ehrliche Antwort: Es gibt vielleicht viele Leute, die so etwas mit einer
Tabellenkalkulation machen. Ich lese aber nur etwas von zwei Tabellen,
sogar mit eindeutigem Index - nichts von irgendwelchen Berechnungen, für
die Calc ja eigentlich gedacht ist. Da bietet sich doch viel mehr eine
Datenbank an:
Warum nicht alles in einer Tabelle steht erschließt sich mir erst einmal
nicht, da wohl beide Tabellen den gleichen Index haben - vielleicht,
weil "Zeigerwerte" eben nicht jedes Mal in "Arten" vorkommt. Also Zwei
Datenbanktabellen, eine Abfrage und ein Formular - dann musst Du auch
nicht immer darauf achten, dass ein Index eindeutig ist - das macht eine
Datenbank automatisch.

Gruß

Robert

Hallo Robert,

danke für Deine Antwort. Die Daten stehen in zwei Tabellen, da das bei den Originaldaten (http://www.botanik.uni-greifswald.de/germanSL.html) leider so gegeben war, vermutlich eben weil es nicht für jede Art Zeigerwerte gibt.
Mit Base habe ich noch nie gearbeitet, daher war mein erster Gedanke Calc. Wie bekomme ich es denn mit einer Datenbanklösung unkompliziert hin? Ich schmeiß jetzt erst mal Google an, bin aber für Vorschläge offen!

Danke nochmals,

Simon

Hallo Simon,

mit dem Link kam ich nicht so ganz klar; da sind mehrere Sachen
downloadbar, unter anderem eine D-Base-Datenbank mit 7 Tabellen.
An jeder Stelle wird aber immer wieder von einer Datenbank geschrieben -
da wäre es ja blöd, das anders anzugehen.

Du kannst Dich natürlich jetzt intensiv mit Datenbanken beschäftigen
( http://de.libreoffice.org/hilfe-kontakt/handbuecher/ - da ist das
komplette Base-Handbuch etwas weiter unten zum Download.). Tatsächlich
wirst Du nicht alles brauchen, so dass sich die Seiten sehr schnell
reduzieren, wenn Du die Makrogeschichten, den SQL-Code und ähnliche
Sachen aus dem Anhang raus lässt. Dann geht es im Wesentlichen darum,
wie Tabellen aus einer Tabellenkalkulation in eine Datenbank befördert
werden können.

Wenn Der Weg Dir etwas steinig erscheint, dann melde Dich noch einmal -
und liefere einen direkten Link zu den Tabellenkalkulationsdateien, die
Du in eine Datenbank befördert haben willst.

Gruß

Robert

Hallo Simon,

noch eine Anmerkung:
Ich habe mir einfach einmal die DBase-Dateien angeschaut. Für eine
Datenbank würde ausreichen, wenn DU
→ Das Verzeichnis "GermanSL" gründest und dort den Datenbestand der
downloadbaren Datei ablädst.
→ LO öffnest und dort eine neue Datenbank gründest (Datei → Neu →
Datenbank → Verbindung zu einer bestehenden Datenbank herstellen → dBase
; → Weiter → Pfad zu den dBase-Dateien (hier: "GermanSL") →
Fertigstellen. Jetzt wirst Du nach einem Namen für Deine Datenbank
gefragt und die Datenbank wird abgespeichert.

Wenn ich hier immer wieder von Datenbank schreibe solltest Du vielleicht
wissen: Du arbeitest in LO mit einer Benutzeroberfläche, die den Kontakt
zu Datenbanken ermöglicht. In LO ist eine Datenbank eingebaut, auf die
Du zugreifst, wenn Du eine neue Datenbank erstellst. Dann kannst Du von
Grund auf Datenbanken erstellen. Du willst aber vermutlich gar nichts
Neues hinzufügen, sondern nur den Datenbestand zum Nachschlagen nutzen.
Deshalb ist es für Dich günstiger, den Datenbestand aus dem Internet zu
laden und das Nachschlagen Base zu überlassen.

Hast Du die Schritte gemacht, so siehst Du alle möglichen Tabellen aus
dem entsprechenden Ordner. Ich würde mich davor bremsen, irgendwo etwas
einzutragen - geht nämlich ohne weiteres.

Kleiner Wermutstropfen, zumindest bei mir: Die Daten stehen nicht als
utf-8-Format zur Verfügung, so dass Umlaute nicht korrekt wiedergegeben
werden. Vielleicht ist das auf einem Windows-System kein Problem ...

Jetzt musst Du nur noch sagen, welche Tabellen Du wie verknüpft in
Deinem Suchformular sehen möchtest. Verknüpfungen entsprechender Art
werden in Abfragen zusammengebastelt. Das Ergebnis würde ich in ein
Formular packen, das Du dann auch nach Deinen Wünschen filtern kannst
und gegebenenfalls auch schreibgeschützt öffnen kannst, so dass Du die
Daten nicht überschreibst.

Gruß

Robert

Hallo Robert,

ja, genau aus diesen 7 Tabellen habe ich meine Daten. Genauer gesagt: die species.dbf (gekürzt auf die Spalten A, D und E, wobei alle Zeilen bei denen in Spalte G ein WAHR steht wegfallen) ist meine Arten.ods und die ecodbase.dbf (gekürzt auf die Spalten A, D, F, H, J, M und O) ist meine Zeigerwerte.ods, ich kann die beiden leider gerade nirgendwo hoch laden.
Ich wollte jetzt eigentlich nicht gleich zum Base Guru werden nur um meine Artenliste zu erstellen, daher war ja mein erster Gedanke auch Calc. Wenn es damit einfacher gehen sollte (die beiden Tabellen habe ich ja schon) würde ich diese Lösung auch bevorzugen, ich habe nur keinen blassen Schimmer wie ich das anstellen soll. Eine Datenbanklösung hätte natürlich den Vorteil, dass ich in Zukunft einfach immer die aktuelle GermanSL herunterladen und nicht großartig bearbeiten müsste um sie zu nutzen (die Taxonomie ändert sich regelmäßig und hin und wieder kommen auch mal Arten dazu).

Besten Gruß,

Simon

Hallo Simon,

ich bin zwar ein Verfechter von Datenbanklösungen (-wo sinnvoll und
angemessen-), hätte jedoch bei deiner Aufgabenstellung auch mal lieber
schnell zu Calc gegriffen.

Am besten, du kopierst die "Nachschlage-" Tabellen in Blatt 2 und 3 des
Calc-Files, in dem du auf Blatt 1 damit arbeiten möchtest.
In der ersten Spalte solllte jeweils der Wert der Zeile stehen, mit dem du
dann nachschlagen möchtest; in deinem Bsp. Achillea.

Vielleicht kannst du dir ja Blatt 3 wirklich sparen, wenn du die Tabellen
zusammenkopieren kannst.

Aus der Nachschlagetabelle würde ich dann einen benannten Zellbereich
machen, der leichteren Handhabung wegen.
Das geht so: Markiere alle Zellen, die die Tabelle bilden (z.B. A1:H365),
klicke dann in den Bereich oberhalb der Tabelle links, in dem der
Zellbereich steht und schreibe z.B. Nachschlag hinein; den Zellbereich
kannst du dann mit dem Namen ansprechen.

Jetzt brauchst du für alle Werte, die in Blatt 1 automatisch entstehen
sollen, nur noch einen "sverweis", der z.B. auf Spalte A "lauscht" und in
"Nachschlag" schaut.

z.B. willst du in B1 den zu einem in A1 eingegebenen Wert zugehörigen Wert
aus der 4.Spalte der Nachschlagtabelle holen:
in B1 steht dann =sverweis(A1;Nachschlag;4;0)

Diese Formel kannst du nun beliebig in Spalte B nach unten kopieren.
Um hässliche Fehlerwerte in Zeilen zu vermeiden, die in A noch nichts stehen
haben, umbaust du deine Formel noch mit "wenn()":
   =wenn(A1="";""; sverweis(A1;Nachschlag;4;0))

schau dir am besten mal die Hilfe zu sverweis an.

Ich wollte jetzt eigentlich nicht gleich zum Base Guru werden nur um meine

Artenliste zu erstellen, daher war ja mein erster Gedanke auch Calc.

Wenn es damit einfacher gehen sollte (die beiden Tabellen habe ich ja

schon) würde ich diese Lösung auch bevorzugen, ich habe nur keinen

blassen Schimmer wie ich das anstellen soll. Eine Datenbanklösung hätte

natürlich den Vorteil, dass ich in Zukunft einfach immer die aktuelle

GermanSL herunterladen und nicht großartig bearbeiten müsste um sie zu

nutzen (die Taxonomie ändert sich regelmäßig und hin und wieder

kommen auch mal Arten dazu).

Gruß,
Marcus

Hallo Simon,

ich habe die beiden Abfragen einmal erstellt, die zu Deinen Tabellen
führen. Nur finde ich kein Feld, das aufzeigt, wie die Tabellen denn nun
zusammenhängen sollen. Also: Wie hängen Zeigerwerte und Arten zusammen?

Hallo Robert,

in der species.dbf steht in der Spalte SPECIES_NR,N,5,0 eine Zahl die die Art identifiziert, diese Zahl ist dann auch in der ecodbase.dbf in der Spalte TAXNR,N,8,2 zu finden.

Vielleicht nennst Du besser die Spaltenbeschriftungen statt die Ziffern
A,B usw. So steht in der Tabelle in Base z.B. "SPEZIES_NR", "ABBREVIAT"
und "NATIVENAME".

OK, in der species.dbf sind die von mir benutzen Spalten: "SPECIES_NR,N,5,0", "ABBREVIAT,C,56" und "NATIVENAME,C,56" wobei auch die "AUTHOR,M" noch interessant werden könnte (manchmal müssen Artennamen inkl. Erstbestimmer angegeben werden). Aus der ecodbase.dbf benötige ich "TAXNR,N,8,2", "OEK_L,N,4,2", "OEK_T,N,4,2", "OEK_K,N,4,2", "OEK_F,N,5,2", "OEK_R,N,4,2" und "OEK_N,N,4,2".

Danke und Gruß,

Simon

Hallo Marcus,

danke erstmal für Deine Hilfe!

Am besten, du kopierst die "Nachschlage-" Tabellen in Blatt 2 und 3 des
Calc-Files, in dem du auf Blatt 1 damit arbeiten möchtest.
In der ersten Spalte solllte jeweils der Wert der Zeile stehen, mit dem du
dann nachschlagen möchtest; in deinem Bsp. Achillea.

Mit dem SVERWEIS würde ich bei einer reinen Calc Lösung auch arbeiten um die weiteren Felder aufzufüllen. Dummerweise kann ich damit jedoch nicht das Feld in dem ich aktuell tippe um Vorschläge ergänzen, oder? Ich will ja nur Achillea (das ist die Pflanzengattung) eintippen und dann für das gleiche Feld Vorschläge für alle Achillea Arten bekommen und mir hiervon dann eine auswählen. Ich würde das jetzt mal "Autoergänzung" nennen. Das Optimum wäre natürlich, dass ich sofort beim Eintippen des Buchstabens "A" alle Arten vorgeschlagen bekomme, die mit A beginnen.

Danke und Gruß,

Simon

Hallo Simon,

ich habe die DB soweit fertig. Geht erst einmal nur um die
grundsätzliche Funktionsweise.
Die Tabellen bekommst Du bei dBase nicht über Abfragen verbunden. Dafür
geht das dann beim Formular, selbst bei einem Feldern, die eigentlich
nicht miteinander kompatibel sind (ein 5-stelliges Zahlenfeld und ein
8-stelliges Zahlenfeld mit 2 Nachkommastellen sollen gleich gesetzt
werden - da sträuben sich bei jedem Datenbänkler alle Synapsen ...).

Wenn Du die Datensätze filtern willst muss noch ein Makro rein.

Wenn zu jeder Art nur ein Zeigerwert existiert kann das Formular auch
anders gestaltet werden.

Wenn Du diesen Weg weiter beschreiten willst, dann melde Dich einfach
per privater Mail.

Gruß

Robert

Am besten, du kopierst die "Nachschlage-" Tabellen in Blatt 2 und 3 des
Calc-Files, in dem du auf Blatt 1 damit arbeiten möchtest.
In der ersten Spalte solllte jeweils der Wert der Zeile stehen, mit dem du
dann nachschlagen möchtest; in deinem Bsp. Achillea.

Mit dem SVERWEIS würde ich bei einer reinen Calc Lösung auch arbeiten um
die weiteren Felder aufzufüllen. Dummerweise kann ich damit jedoch nicht
das Feld in dem ich aktuell tippe um Vorschläge ergänzen, oder? Ich will
ja nur Achillea (das ist die Pflanzengattung) eintippen und dann für das
gleiche Feld Vorschläge für alle Achillea Arten bekommen und mir hiervon
dann eine auswählen. Ich würde das jetzt mal "Autoergänzung" nennen.

Extras => Zellinhalte => [X] AutoEingabe

Mit der TAB-Taste kannst Du Dich dann durch die Vorschläge hangeln; die
Option berücksichtigt AFAIK allerdings nur die Einträge der aktuellen
Spalte.

Oder Du benutzt die Option 'Gültigkeit' ('Daten => Gültigkeit =>
Kriterien => Zulassen: Zellbereich => Quelle: Tabelle1.$A$1:$A$1000'
oder wo immer Deine Pflanzennamen stehen). Dann hast Du alle Namen in
der Pulldown-Liste.

Das
Optimum wäre natürlich, dass ich sofort beim Eintippen des
Buchstabens "A" alle Arten vorgeschlagen bekomme, die mit A beginnen.

Nicht daß ich wüsste.

Wolfgang