„Hier muss erste einmal frische Luft rein!“, dachte ich mir heute Morgen, nachdem ich mich von der langen Nacht etwas erholt hatte. Eigentlich ist mir morgens immer ein Cappuccino wichtiger, als alles andere, aber nachdem ich in der Nacht mit dem Projekt – eine „Tabelle“ zur Helferplanung zu erstellen – nicht weitergekommen bin, musste es heute Morgen dann doch erst einmal frische Luft sein. Ganz viel, auch wenn sie kalt ist!
Ich habe in der Nacht einiges geschafft und vielleicht auch gelernt, wobei, lernen geht nur durch Wiederholung, aber doch so einen ersten Einblick habe ich in Python bekommen. Es könnte sein, dass ich das für die „Tabelle“ brauchen könnte – ja, ich nenne es mal „Tabelle“, obwohl es eigentlich sehr viel mehr ist und es wahrscheinlich auch sehr viel mehr Zeit braucht, bis ich die richtige Lösung gefunden habe. Auf jeden Fall weiß ich nun, wie ich mit Python eine SQLite-Datenbank auslese, dadurch natürlich auch, wie ich mich damit verbinde und wie ich diese Daten dann in eine Excel-Datei schreiben kann. Wie schon erwähnt, das könnte noch wichtig werden für das eigentlich Projekt. Ich weiß das übrigens nicht nur in der Theorie, sondern ich habe das heute Nacht auch praktisch umgesetzt, nachdem ich mir eh eine SQLite-Datenbank bauen musste.
Noch nicht geklärt ist, wie ich die Daten aus der E-Mail, welche dort in einer Tabelle (tr,td, – ihr wisst schon) stehen, automatisiert in die Datenbank bekomme und wie ich dann für diese Datenbank auch noch ein einfaches Formular erstelle, um die Datensätze manipulieren zu können. Ich weiß, dass das Erste mit Python funktionieren soll, ich habe nur noch keinen Plan wie – an dieser Stelle wäre es dann doch einmal von Vorteil, mit Outlook als Mailclient zu arbeiten, dafür hätte ich schon eine Lösung gefunden.
Jetzt muss ich natürlich auch erzählen, dass das Programmieren nicht meins ist. Ich hatte bisher noch nie eine wirkliche Idee für ein eigenes Programm und alles, was ich so brauche, konnte ich über Open-Source beziehen und ja, einrichten kann ich solche Dinge. Ich kann schon auch mal was an einem PHP-Script ändern, wenn es nicht passt, aber ich habe noch nie großartig programmiert, somit ist dieses Projekt jetzt das erste Projekt, bei dem ich mich einmal damit auseinandersetzen muss. Und ja, eigentlich sollte ich es auch können und ja, ich verstehe es schon auch, aber ich bin halt keiner, der da in zwei Stunden was hinbekommt. Wollte ich nur für die erwähnt haben, die mich jetzt auslachen, weil ich mich da gerade so schwertue! Aber es soll ja am Ende auch funktionieren, sonst könnte ich mir die Zeit auch sparen.
Funktioniert hat heute Nacht leider nicht vieles, jedenfalls nicht so, wie ich es mir vorgestellt hätte. Denn mein eigentlicher Plan war, mit Pivot-Tabellen zu arbeiten, was aber in LibreOffice nicht so flexibel ist, wie in den Microsoftprodukten – also falls ihr euch fragt, warum Unternehmen doch lieber …, es könnte daran liegen. Die zweite Idee, mit LibreOffice Base eine Datenbank zu nutzen und mir die Daten dann mit Abfragen zu generieren, fühlte sich dann schon besser an, bis mir auffiel, dass jede manuelle Änderung, die ich in der Tabelle vornehmen würde, sich nicht mit verschieben, sollte dann doch ein neuer Datensatz reinrutschen.
Dann dachte ich mir, dass das eigentlich kein Problem ist, wenn ich eine eindeutige und aufsteigende ID in die Datensätze einbaue, was auch stimmt, wenn neue Datensätze wirklich bedeuten würde, dass die neu sind und sich nicht einfach irgendwo ein Status ändert, wodurch der Datensatz dann für die Abfrage relevant wird. Hinten anhängen an die bereits vorhandenen Daten wäre also kein Problem, aber alles, was dann irgendwo zwischen den alten Datensätzen angehängt wird, die vielleicht schon vollständig bearbeitet sind, wäre dann scheiße, weil dann die Zuordnungen der manuellen Änderungen zu den automatisch ausgegebenen Datensätzen nicht mehr passen würden.
Die Schlussfolgerung ist also, dass die Änderungen direkt in der Datenbank gemacht werden müssen und dazu bräuchte ich eine Maske, so wie bei LibreOffice Base, nur halt so, dass es auch funktioniert. In Base habe ich es mit einer Excel-Datei versucht, da können die Datensätze aber nur gelesen und nicht geändert werden, dann mit der SQLite-Datenbank, wo es ebenso ist und die interne Datenbank ist leider blöd, weil ich da mit Python nicht drauf zugreifen kann, um die Daten aus den E-Mails automatisiert zu importieren …
Und jetzt brauche ich dann erst einmal einen Cappuccino, denn ich muss mir jetzt noch einmal von Grund auf überlegen, wie ich das Projekt jetzt doch noch vernünftig umsetzen kann.