[de-users] 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 -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Werte aus anderer Tabelle vorschlagen und ergänzen
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 -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Werte aus anderer Tabelle vorschlagen und ergänzen
Am 26.07.2012 12:17, schrieb Robert Großkopf: 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. 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 -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
[de-users] Re: Calc: Formeln bei Einfügen automatisch kopieren
Hallo Franklin, Es ist ein Makro (nicht auf meinem Mist gewachsen, ich kann nicht nachvollziehen, woher ich es habe). Das Makro habe ich dann mit einem Symbol (Symbolleiste) verknüpft. == rem -- ' inserts a new row above the curent one ' and copies the formulas of the current row into it sub InsertRowWithFormula dim sRow dim oRow dim oSelection dim oSheet dim document as object dim dispatcher as object rem -- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") oSelection = ThisComponent.CurrentSelection sRow = oSelection.getRangeAddress.StartRow oSheet = ThisComponent.CurrentController.getActiveSheet oRow = oSheet.getRows().getByIndex(sRow) ' select whole row ThisComponent.getCurrentController().select(oRow) rem -- dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array()) rem -- dim args2(5) as new com.sun.star.beans.PropertyValue args2(0).Name = "Flags" args2(0).Value = "F" args2(1).Name = "FormulaCommand" args2(1).Value = 0 args2(2).Name = "SkipEmptyCells" args2(2).Value = false args2(3).Name = "Transpose" args2(3).Value = false args2(4).Name = "AsLink" args2(4).Value = false args2(5).Name = "MoveMode" args2(5).Value = 0 dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args2()) end sub Grüße Helmut Am 25.07.2012 18:22, schrieb Franklin Schiftan: > Hallo Helmut, > > am 25.07.2012 um 17:57 Uhr schriebst Du: > >> Habe bereits etwas gefunden. > > Magst du uns nicht an deinen Erkenntnissen teilhaben lassen? > >> Grüße >> Helmut > > und tschüss > > Franklin > > > > >> Am 25.07.2012 17:15, schrieb Helmut Leininger: >>> Hallo, >>> >>> Ich habe eine Tabelle, wo auch ein Bereich (Excel: Datenbank) definiert >>> ist. In einigen Zellen einer Zeile habe ich Formeln. >>> >>> Nun hätte ich gerne, dass beim Einfügen einer neuen Zeile die Formeln >>> der darüberliegenden Zeile in die entsprechenden Zellen der neuen Zeile >>> kopiert werden, nicht aber die anderen Inhalte. >>> >>> Geht das? >>> >>> Vielen Dank >>> Helmut > > > -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Re: Calc: Formeln bei Einfügen automatisch kopieren
Hallo Helmut, am 26.07.2012 um 13:33 Uhr schriebst Du: > Hallo Franklin, > > Es ist ein Makro (nicht auf meinem Mist gewachsen, ich kann nicht > nachvollziehen, woher ich es habe). Das Makro habe ich dann mit einem > Symbol (Symbolleiste) verknüpft. Vielen Dank vielleicht kann man's ja später selber auch mal gebrauchen ... und tschüss Franklin > > == > rem -- > ' inserts a new row above the curent one > ' and copies the formulas of the current row into it > sub InsertRowWithFormula > dim sRow > dim oRow > dim oSelection > dim oSheet > dim document as object > dim dispatcher as object > > rem -- > rem get access to the document > document = ThisComponent.CurrentController.Frame > dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") > > oSelection = ThisComponent.CurrentSelection > sRow = oSelection.getRangeAddress.StartRow > > oSheet = ThisComponent.CurrentController.getActiveSheet > oRow = oSheet.getRows().getByIndex(sRow) > > ' select whole row > ThisComponent.getCurrentController().select(oRow) > > rem -- > dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array()) > > rem -- > dim args2(5) as new com.sun.star.beans.PropertyValue > args2(0).Name = "Flags" > args2(0).Value = "F" > args2(1).Name = "FormulaCommand" > args2(1).Value = 0 > args2(2).Name = "SkipEmptyCells" > args2(2).Value = false > args2(3).Name = "Transpose" > args2(3).Value = false > args2(4).Name = "AsLink" > args2(4).Value = false > args2(5).Name = "MoveMode" > args2(5).Value = 0 > > dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args2()) > > end sub > > > Grüße > Helmut > Am 25.07.2012 18:22, schrieb Franklin Schiftan: >> Hallo Helmut, >> >> am 25.07.2012 um 17:57 Uhr schriebst Du: >> >>> Habe bereits etwas gefunden. >> >> Magst du uns nicht an deinen Erkenntnissen teilhaben lassen? >> >>> Grüße >>> Helmut >> >> und tschüss >> >> Franklin >> >> >> >> >>> Am 25.07.2012 17:15, schrieb Helmut Leininger: Hallo, Ich habe eine Tabelle, wo auch ein Bereich (Excel: Datenbank) definiert ist. In einigen Zellen einer Zeile habe ich Formeln. Nun hätte ich gerne, dass beim Einfügen einer neuen Zeile die Formeln der darüberliegenden Zeile in die entsprechenden Zellen der neuen Zeile kopiert werden, nicht aber die anderen Inhalte. Geht das? Vielen Dank Helmut -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Werte aus anderer Tabelle vorschlagen und ergänzen
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 -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Werte aus anderer Tabelle vorschlagen und ergänzen
Am 26.07.2012 16:17, schrieb Robert Großkopf: 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 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 -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Werte aus anderer Tabelle vorschlagen und ergänzen
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? 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". Das kriegen wir schon hin. Du brauchst da gar nicht zum "Guru" zu werden. Gruß Robert -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
AW: [de-users] Werte aus anderer Tabelle vorschlagen und ergänzen
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 -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert