SEPA Generator DLL

Als ich mein erstes Girokonto Anfang der 2000er Jahre eröffnet habe, war die Bankenwelt eine ganz andere. Um einen Betrag überweisen zu können, musste ich beim Bankbeamtenmitarbeiter vorstellig werden und das Überweisungsformular mit Durchschlag ausfüllen. Ausfühlhilfen gabs nicht – mit meiner Sauklaue hatte ich mich besonders ins Zeug zu legen, damit das angewiesene Geld dort landete, wo ich es hinüberweisen wollte. Bei jeder weiteren Überweisung ging die Schönschriftübung wieder von vorne los. Kontoauszüge gabs damals auch nur bei der Bank, im Mini A5-Format auf blassrosa Thermopapier. Aus Ausgleich hierzu gab es allerdings recht üppige Guthabenszinsen auf dem Girokonto.

Ein paar Jährchen später stieg ich auf das Onlinebanking um – Features wie Vorlagen oder die Möglichkeit, neue Überweisungen aus bestehenden Umsätzen heraus zu erstellen, mochte ich seitdem nicht mehr missen. Auch die Sache mit den Kontoauszügen ist bequemer geworden, da sie nicht nur in den Hallen der Bank gezogen werden konnten, sondern auch als PDF-Dateien im Onlinebanking zur Verfügung standen. Nach und nach kamen weitere Features hinzu – so ist es beispielsweise seit einigen Jahren möglich, Aufträge als SEPA-XML-Dateien direkt bei der Bank einzureichen. Die Erstellung solcher XML-Dateien greife ich als Thema in diesem Beitrag auf und stelle meinen XML-SEPA-Generator vor.

Continue reading „SEPA Generator DLL“

Nebenkostenabrechnung mit Access

Wir alle kennen das Bild von einem Engelchen mit einer Harfe und Teufelchen mit einem Dreizack, die auf unseren Schultern sitzen und uns bei Entscheidungen in bestimmte Richtungen zu lenken versuchen. Auf den Schultern von uns Wirtschaftsinformatikern liegt oft doppelte Last, denn da machen sich zwei weitere Akteure breit.

Während auf der einen Schulter lässig ein Kapuzenpulli tragender Nerd mit einem 23-Tage Bart und einer dampfenden Tasse Kaffee hockt, nimmt auf der anderen Schulter ein adrett gekleideter Erbsenzähler mit Seitenscheitel und einem Aktenkoffer Platz. Wie man sich gut vorstellen kann, sehen die beiden die Welt mit absolut unterschiedlichen Augen. Die eine Seite würde am liebsten alles selbst programmieren und eine Anwendung, die nicht aus seiner Feder stammt, nicht mal mit einer Kneifzange anfassen. Die andere Seite brabbelt unentwegt von Projektplänen, Break-Even-Analysen und Kostenreduzierungen.

Bei einem Kundenauftrag sind beide Seiten wichtig – es geht ja darum, eine vernünftige Qualität zu liefern und dabei die Kosten nicht ausufern zu lassen. Bei einem privaten Projekt, wie dem, um den es in diesem Beitrag geht, ist es anders – der Termindruck ist nicht da und der Kostengesichtspunkt ist eher zweitrangig völlig egal, sodass ich mich darauf freuen kann, dem OverEngineering zu frönen und die Anwendung hier und da mit sprichwörtlichen goldenen Wasserhähnen und Marmorböden auszustatten. Doch die Rechnung habe ich ohne den Erbsenzähler auf der Schulter gemacht, der seine Nase immer wieder in die IT-Angelegenheiten steckt und sowohl die Entwicklung der Anwendung als auch den Lesefluss dieses Beitrags unterbricht. Doch genug der Vorrede – legen wir mit der Implementierung der Anwendung zur Wohnungsverwaltung und Nebenkostenabrechnung los und versuchen dabei, das Geschwafel von der Schulter auszublenden.

Continue reading „Nebenkostenabrechnung mit Access“

Zeilenumbrüche in Textdateien (Windows, Linux und Apple)

Man sollte meinen, dass Zeilenumbrüche in Textdateien ein so triviales Thema ist, dass sich fast die Frage aufdrängt, ob es sich überhaupt lohnt, darüber zu schreiben. Wie man’s nimmt – in einer idealen Welt, in der sich die Hersteller von unterschiedlichen Betriebssystemen auf gemeinsame Standards einigen oder zumindest bereits bestehendes berücksichtigen würden, wäre es in der Tat eine elementare Sache, die keiner Erwähnung bedürfte. Die IT-Realität sieht jedoch anders aus. Viele Hersteller kochen oft ihr eigenes Süppchen – daher erlaube ich mir, ein paar Zeile darüber zu Papier zu bringen.

Continue reading „Zeilenumbrüche in Textdateien (Windows, Linux und Apple)“

DLL-Registrierung mit PowerShell

Es war ein mal…. eine Junior-Softwareengineer-Stelle, die ich nach meinem Traineeprogramm angetreten habe. Eine Stelle, in der ich rund 3,5 Jahre lang unterwegs war und in der ich vor allem im technischen Bereich sehr viel mitgenommen habe, unter anderem in der Shellprogrammierung mit der Bash.

Continue reading „DLL-Registrierung mit PowerShell“
Klasse für die Übergabe von Parametern an Access Formulare und Berichte

mehrere Parameter in Access Formularen übergeben

Die Softwareentwicklung ist eines der vielen Betätigungsfelder, wo man eigentlich nie sagen kann, dass man eine Programmiersprache oder Technologie in sämtlichen Facetten zu 100% beherrscht. Wenn ich mal ein Projekt, an dem ich vor einer Weile gearbeitet habe, hervorkrame, den Staub und Spinnenweben weg puste, dann fallen mir oft Stellen im Quellcode auf, die ich nicht optimal umgesetzt habe. In der Regel einfach deswegen, weil ich zum damaligen Zeitpunkt weniger Erfahrung hatte. Oder auch, weil der gedankliche und zeitliche Abstand manchmal ganz gut tut, um auf bessere Lösungsansätze zu kommen.

Um genau so eine Verbesserung geht es in diesem Beitrag, nämlich um die Art und Weise, wie ich mehrere Parameter in Access Formularen übergeben kann.

Continue reading „mehrere Parameter in Access Formularen übergeben“

Programmierung dynamischer Fragebögen

Kürzlich habe ich eine Anfrage eines Unternehmens bekommen. Es sollte ein Tool zur Benutzerführung entwickelt werden. Der Fachverantwortliche des Kunden soll dabei zu einem bestimmten Prozess die einzelnen Fragen und die möglichen Antworten definieren, sowie festlegen, in welcher Reihenfolge die Fragen anzuzeigen sind. Ebenso soll auch die gewählte Antwort einen Einfluss drauf haben, welche Frage dann als nächste angezeigt werden soll.

Die so zusammengestellte Benutzerführung oder besser gesagt interaktive Arbeitsanweisung soll dann einem Sachbearbeiter ermöglichen, einen ihm unbekannten Prozess mit Unterstützung durchlaufen zu können.

Continue reading „Programmierung dynamischer Fragebögen“
MNIST-Ziffer

MNIST mit VBA einlesen und umformen

Befasst man sich mit der Entwicklung von künstlichen neuronalen Netzen, stolpert man unweigerlich über den MNIST Datensatz. Dieser hat sich mittlerweile zu einem Quasi-Standard entwickelt, wenn unterschiedliche neuronale Netze hinsichtlich ihrer Erkennungsqualität miteinander verglichen werden sollen.

In diesem Tutorial gehe ich auf die Besonderheiten vom relativ sperrigen MNIST Format ein und stelle eine Klasse vor, die den MNIST mit VBA ausliest und diesen mit einer einfach zu nutzenden Schnittstelle zur Verfügung stellt.

Continue reading „MNIST mit VBA einlesen und umformen“

Chemische Formeln mit VBA formatieren

Die Sprache VBA ist vielseitig einsetzbar (hat jemand wirklich eine andere Aussage auf einem VBA-Blog erwartet?) und erlaubt neben der klassischen Automatisierung von wiederkehrenden Abläufen, auch die Umsetzung von regelbasierten Formatierungen.

Continue reading „Chemische Formeln mit VBA formatieren“

Singleton mit VBA

Die Programmiersprache VBA wird zwar von Microsoft selbst als objektorientiert bezeichnet, unterstützt aber bei weitem nicht alle Aspekte der Objektorientierung. Das Singleton Pattern ist eines der wenigen Pattern, die sich in VBA umsetzen lassen. Dieser Beitrag soll den Praxiseinsatz des Singletonpatterns in meinem VBA-Projekt etwas näher erläutern.

Continue reading „Singleton mit VBA“

Camt 052 Dateien zur Zuordnung von Zahlungen einlesen

In meinem ersten Beitrag über das Thema Rechnungsstellung habe ich über Herausforderungen bei der Zuordnung von Zahlungen zu offenen Rechnungen berichtet. Der Lösungsansatz, den ich bereits umgesetzt habe, war die Verwendung von QR Codes auf Rechnungen, um bequemere Überweisungen für meine Kunden und fehlerfreie Zuordnungen für meine Buchhaltung zu ermöglichen. Nun möchte ich einen Blick hinter die Kulissen auf ein weiteres Modul gewähren, welches Kontoauszugsdateien im Camt 052-Format entgegennimmt, aus den darin enthaltenen Kontoumsätzen relevante Zahlungseingänge ermittelt und diese ins Rechnungsprogramm für den Zahlungsabgleich importiert.

Continue reading „Camt 052 Dateien zur Zuordnung von Zahlungen einlesen“