🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Thunderbird Adressbuch als Tabelle in DB einbinden

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
wartburgritter
Beiträge: 101
Registriert: Di 13. Nov 2012, 18:28

Thunderbird Adressbuch als Tabelle in DB einbinden

Beitrag von wartburgritter » Fr 8. Mär 2013, 23:13

So es geht nun wieder mal um meine Projektdatenbank. Habe nun Firmennamen integriert. Ich würde gern auch Adressen und Personen und deren Telefon und E-Mail integrieren.

Ist folgendes denkbar. Evtl. erzähl ich auch Stuss, aber es wäre doch cool...

Personen und deren Daten werden in Icedove (ähh, ja wie heisst der unter windows und suse... ja genau thunderbird) gemanagt. Base kann sich ja mit dem Adressbuch von thunderbird verbinden. Kann es dies auch als tabelle einbinden und diese tabelle wird in meiner datenbank wie eine selbst abgefüllte tabelle gehandhabt nebst beziehungen, abfragen etc zu und mit anderen tabellen. Dies natürlich dynamisch, das heisst ich schliesse base mache änderungen in thunderbird, öffne base und kann wieder in base mit den thunderbirddaten als tabelle arbeiten als ob sie nativ in base wären. Sonst müsste ich ALLE adressdaten in base managen und allszu nach thunderbird exportieren.

träum ich nur, oder ist das realität. Wäre ein super grund auf arbeit auch auf thunderbird umzusteigen :) :) :)

gruss bernd

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Thunderbird Adressbuch als Tabelle in DB einbinden

Beitrag von RobertG » Sa 9. Mär 2013, 08:52

Hallo Bernd,

Du kannst zur Zeit auf Thunderbird zugreifen - nur lesend - aber das ist ja nicht das, was Dich allein glücklich macht. Du möchtest auch die Tabelle in einer anderen HSQLDB-Datenbank nutzen.
Der umständliche Weg ist natürlich, die Datenbank mit Thunderbird-Verbindung offen zu halten und dann die Tabelle nach Änderungen jedes Mal neu in die HSQLDB zu transportieren. Hilft Dir aber auch nicht wirklich, da dann die Schlüsselfelder fehlen. Gründest Du dann auch noch die Tabelle jedes Mal neu, so können die Schlüsselzuordnungen ja nicht mehr bestehen bleiben.
Problem werden auch Felder sein, die Du in Thunderbird vielleicht löscht. Dies kann eventuell dazu führen, dass in Deiner eigentlichen Datenbank noch Datensätze existieren müssen, die irgendwo bereits verknüpft sind, in der Thunderbird-Datei aber nicht mehr vorhanden sind. Schließlich schützt die HSQLDB mit den Relationen nicht auch noch Deine Änderungen in Thunderbird.
Es müsste also beim Öffnen Deiner Datenbank ein Makro ablaufen, das aus der Thunderbird-Datenbank die Daten ausliest und vergleicht, welche Datensätze in der HSQLDB bestehen und welche neu geschrieben werden müssen.
Das hat natürlich den haken, wie denn dieser Vergleich stattfinden soll. Ich habe dazu jetzt Nachname und Vorname genutzt. Aber was ist, wenn
- zwei Personen mit gleichem Nachnamen und gleichem Vornamen existieren oder
- ein Name in Thunderbird nicht richtig geschrieben wurde, dann aber korrigiert wurde?
Im ersten Fall würde der zuerstliegende Datensatz von den danachfolgenden überschrieben. Die eine Person taucht also gar nicht erst auf.
Im zweiten Fall würde der Datensatz neu angefügt, eine Namensänderung also nicht übernommen.
Der zweite Fall kann korrigiert werden (ändern des Datensatzes in der aufnehmenden Datei, löschen des zusätzlichen Datensatzes). Im ersten Fall müsste händisch ein neuer Datensatz hinzugefügt werden, der dem anderen gleich ist. Nur der Datensatz mit der höchsten Primärschlüsselnummer wird überschrieben ...
Bisher also etwas mit Risiko behaftet, aber wer sich dessen bewusst ist kann das Ganze ja einmal antesten.
Das Makro ist in der anhängenden Datei noch nicht mit dem Start der Datei verbunden. Es müssen erst die entsprechenden Namen der Datenbankdateien an die persönlichen Bezeichnungen angepasst werden.

Gruß

Robert
Dateianhänge
Thunderbird_import.odb.zip
Import der Adressdaten aus Thunderbird
(5.39 KiB) 265-mal heruntergeladen
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

wartburgritter
Beiträge: 101
Registriert: Di 13. Nov 2012, 18:28

Re: Thunderbird Adressbuch als Tabelle in DB einbinden

Beitrag von wartburgritter » Mo 11. Mär 2013, 19:24

Hallo Robert,

Du hast GENAU verstanden was ich vor habe. Ich wird trotzdem gern noch ein wenig „plaudern“ bevor ich da richtig einsteige.

- Variante 1:
Adressdaten in TB-Adressbuch, DB greift darauf zu. Um mit daten in der datenbank zu arbeiten (heisst beziehungen mit anderen daten herstellen) brauchen die datensätze einen eindeutigen schlüssel. Den haben sie nicht, wenn daten in thunderbird adressbuch gespeichert sind. Damit ist auch klar, dass die Daten die die DB verwedet, in der DB gespeichert sein müssen. --> Variante fällt weg.


- Variante 2:
Adressdaten in DB. Pflege der Daten auch in der DB. TB greift lesend darauf zu. Stellt sich die Frage ist das mit TB direkt möglich?. Eine Abwandlung wäre eine Export aus der Datenbank und Import in TB. Die Daten in TB werden bei jedem Import alle neu erstellt. Das ist von der Fehleranfälligkeit her natürlich sehr sicher. Eigentlich bräuchte ich nur die Namen, Firmennamen, E-Mail-Adressen und Projekte in TB. Telefonnummern hab ich für unterwegs ganz altmodisch auf einem Zettel, da ich kein extra Firmentelefon habe. Der Zettel liesse sich aus der DB sogar noch einfacher erstellen als bisher (export und in tabellenkalkulation bearbeiten und drucken.)


- Variante 3:
Adressdaten in DB. Pflege der Daten in TB. Import und Erkennung welche Datensätze neu sind, und welche gelöscht werden müssen und welche geändert werden, wird über ein Makro in Base erledigt. Initiale Version des Makros siehe ein Post weiter oben von Robert. Variante 3 ist zwingend nötig wenn die Adressdaten nicht in der DB gepflegt werden sollen. Dies wäre bei Vorhandensein einer Groupware die einzig mögliche Variante. Vorrausgesetzt die Groupware kann meine Anforderungen an eine Projektverwaltung nicht abbilden. Dann wäre meine gesamte DB überflüssig ;), aber letzteres tritt in den nächsten 5 Jahren sicher nicht ein, aber eine Groupware ist evtl. möglich.

-zu Variante 3 einige Anmerkungen:
Von vielen Personen kenne ich den Vornamen nicht. Wie das aber so ist arbeiten Geschwister oder Junionr und Senior oder Mann und Frau des öfteren in einer Firma. Von solchen Namen wie Meier, Müller, Schulze red ich erst gar nicht. Es kommtt noch schlimmer. Ich hab auch zwei Personen, die haben die Firma gewechselt. Im Adressbuch hab ich die einfach doppelt mit der Notitz, bei der einen Firma, dass er nicht mehr dort ist. Summa, summarum, um die Daten dauerhaft in TB zu pflegen aber in DB nutzen zu können müsste ich Name, Vorname, Firma, Handy, E-Mail als Kriterium vergleichen. Damit decke ich 99 % der Fälle ab. Der letzte % fällt mir grad nicht ein, dass kommt dann in einigen Monaten aber sicher .... Es wäre auch alles in einer Tabelle, mit der Wahrscheinlichkeit von Rechtschreibfehlern bei Doppelnennungen, und die hab ich bei 150 (aktuell) bis 500 (in 10 Jahren) Personen gar nicht wenige. Das auf die Dauer lauffähig zu machen wird wohl nicht so einfach.

Mhh wenn ich ehrlich bin würd ich mal Variante 2 versuchen. Dann müsste ich meine Projektverwaltung um eine vollständige Kontaktverwaltung erweitern, mit Ortstabellen, Strassennamentabellen, Postleitzahlentabellen, Personentabellen (incl. e-mail, tel) etc. Mhh, die Ortstabelle der Projektverwaltung kann ich verwenden. Dann wird aber der Datenimport gar nicht so einfach...

Robert und Ihr da draussen, was meint Ihr??? Hat jemand ein ähnliches Problem schon gelöst oder gehabt.

gruss bernd

ps.
warum betreibe ich den Aufwand?? Ich will unbedingt folgende Berichte drucken können:

- Person --> alle Projekte
- Firma --> alle Projekte
- Projekte --> alle Firmen
- Projekte --> alle Personen

das ganze natürlich verfeinert für weitere Untereigenschaften...

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Thunderbird Adressbuch als Tabelle in DB einbinden

Beitrag von RobertG » Mo 11. Mär 2013, 21:36

Hallo Bernd,

das ist jetzt natürlich eine Frage dessen, wie weit Du so ein Adressbuch z.B. in Thunderbird pflegst. Mir ist das Adressbuch etwas umständlich - oder ich habe einfach noch nicht verstanden, wie es funktioniert. Es muss jeder Name angklickt werden und dann kann über einen rechten Mausklick die Detailansicht zum Bearbeiten geöffnet werden.

Ich würde bei einem einfacher zu bedienenden Adressbuch ein Feld suchen, das ich nicht weiter benötige. In den Feld würde ich fortlaufend eine Nummerierung einfügen. Dann hast Du auf jeden Fall ein Feld, das eindeutig ist. Die Nummerierung braucht nichts mit dem Primärschlüssel in einer Tabelle der HSQLDB zu tun haben. Aber anhand der Nummerierung kann das Makro die Datensätze eindeutig zuordnen und bestehende überschreiben sowie neue hinzufügen. Am besten ginge so eine Nummerierung aber nur dann, wenn Du alle Daten in einer tabellarischen Übersicht hast und dort direkt eingibst - nur das scheint mir nicht möglich zu sein.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

wartburgritter
Beiträge: 101
Registriert: Di 13. Nov 2012, 18:28

Re: Thunderbird Adressbuch als Tabelle in DB einbinden

Beitrag von wartburgritter » Di 12. Mär 2013, 20:29

Hallo Robert,

vielen Dank für Deien Input. Mein langer Text war wohl am Meisten für mich selbst als Enscheidungsgrundlage am wichtigsten :lol: So im Stil von laut gedacht.

Ich denke grad mal weiter laut ...

Warum mache ich meine DB? Um Projekte zu verwalten! Vor allem abgeschlossene projekte weil ich von denen immer wieder informationen für aktuelle projekte brauche und dann ewig suchen muss und oft entnervt aufgebe ... Damit meine DB nicht zu komplex wird und ich mein Ziel aus den Augen verliere sollte ich klare Grenzen setzen. Also keine Kontakteverwaltung in der DB.

Also doch Variante 3 und ein cleveres System für den Import finden. Da scheint mir deine simple Idee mit den IDs in einem frei gewählten Feld gerade zu prädistiniert. Evtl. noch ein zweites Feld welches bei allen Kontakten gleich ist und die höchste vergebene ID enthält, dann braucht es auch die tabellarische übersicht nicht. Ausserdem reduziert das die Fehlerquote von Doppelten IDs und das wäre dramatisch ... Fragt sich wie in allen Kontakten ein Feld gleichzeitig gesetzt wird.

Nun gut nun ist es an mir, das umzusetzen ... Aber ich hab doch auch noch http://www.libreoffice-forum.de/viewtop ... 10&t=11580 auf meiner Pendenzenliste. Naja aber ich weiss in welche Richtung es weiter geht und hab ein Ziel.

gruss und allen einen schönen abend bernd alias der wartburgritter


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten