Seite 1 von 1
Für einen Serienbrief Zahl in Worte umwandeln
Verfasst: Mi 9. Jan 2013, 12:44
von Norbse
Hallo,
in einem Serienbrief (einer Spendenbescheinigung) muss ich den Spendenbetrag auch in Worten darstellen.
Eine Datenbank (Base) mit Mitglieder- und Finazverwaltung sowie einen Serienbrief (Writer) habe ich erstellt.
Beides funktioniert soweit recht gut. Im Serienbrief werden für etwa 300 Vereinsmitglieder Name, Anschrift und Spendenbetrag eingetragen. Was noch fehlt ist "Betrag in Worte".
Für Calc habe ich eine Lösung gefinden: 123€ werden als "eins zwei drei" € dargestellt.
Leider schaffe ich das in meinem Serienbrief nicht. Ich hab es schon mit einem Serienbrief in Calc versucht, schaffe es dort aber nicht den Spendenbetrag aus dem Datenbankfeld weiter zu bearbeiten.
Oder muss die Umwandlung in der Datenbank in einer Abfrage geschehen und wird dann an den Serienbrief übergeben?
Kann mir jemand helfen?
Gruß vom langsam verzweifelnden Norbse
Re: Für einen Serienbrief Zahl in Worte umwandeln
Verfasst: Mi 9. Jan 2013, 14:20
von RobertG
Hallo Norbse,
auf Anhieb würde ich erst einmal sagen: Dafür ist die Datenbank mit Abfragen nicht so geeignet. Was mir als Funktion der internen HSQLDB so einfällt, ist etwas nach dem Schema
Code: Alles auswählen
SELECT "Zahl", CASE WHEN "Zahl"=1 THEN 'Eins' WHEN "Zahl"=2 THEN 'Zwei' ELSE 'Drei' END FROM "Tabelle"
Geht erst einmal mit nur einer Ziffer und müsste entsprechend mit lauter zusätzlichen WHEN ... THEN ausgestattet werden. Jetzt musst Du noch die Ziffern von vorne nach hinten abarbeiten (umwandeln in einen String, aber leider kannst Du keine Schleifen durchlaufen lassen) - da muss es einfach eine bessere Lösung geben.
Gruß
Robert
Re: Für einen Serienbrief Zahl in Worte umwandeln
Verfasst: Mi 9. Jan 2013, 19:29
von F3K Total
Hallo Norbse,
Hier habe ich ein Makro gefunden, dass genau das kann.
Ich habe es mal in ein Base-Formular integriert.
Es kann nur ganze Euronen, wenn Du auch die Cents benötigst muss man was umschreiben, ist aber machbar.
Beispiel:
- Öffne die angehängte Datei und das darin liegende Formular Betrag_in_Worte
- Tippe den Betrag ein und dann einmal auf die Tab-Taste.
Viel Erfolg,
Gruß R
Re: Für einen Serienbrief Zahl in Worte umwandeln
Verfasst: Do 10. Jan 2013, 18:50
von Norbse
Hallo F3KTotal,
vielen Dank für Deinen Tip. Auf dieser Seite war ich auch schon, habs aber nicht verstanden. Mit deiner Datenbank hab ich´s nun im groben begriffen.
Nur leider sieht es bei mir noch etwas anders aus. Datenquelle für meinen Sereienbrief ist keine Tabelle sondern eine Abfrage. In dieser Abfrage summiere ich die Monatsbeiträge der einzelnen Mitglieder auf und ordne sie dem jeweiligen Mitglied und dessen Adresse zu. In der Abfrage sind dann die Spalten Name, Straße, Ort und Jahresbeitrag. Kann ich das Makro so abändern, dass es auch mit einer Abfrage funktioniert oder kann ich die Ergebnisse der Abfrage in eine Tabelle speichern?
Ich bin in Fragen Datenbank totaler Anfänger und Makroprogrammierung hab ich bisher auch nur in Excel leicht gestreift. Um so mehr hab ich mich sehr über Deine Zahl_in_Worte.odb gefreut, die mir den Makroeinstieg erleichtert - dankeschön.
Gruß
Norbert
Re: Für einen Serienbrief Zahl in Worte umwandeln
Verfasst: Do 10. Jan 2013, 18:57
von F3K Total
Hi,
hängt von der Abfragestruktur ab. Man kann auch Daten in eine Abfrage schreiben, wenn sie richtig aufgebaut ist, oder das Makro so abändern, das der Wortebetrag zur richtigen Person in eine Tabelle geschrieben wird.
Verfremde deine DB, lade sie hier hoch, dann kann ich mal schauen.
Gruß R
Re: Für einen Serienbrief Zahl in Worte umwandeln
Verfasst: Do 10. Jan 2013, 22:36
von Norbse
Hallo F3KTotal,
hier nun die Datenbank mit Sereienbrief-Vorlage und in Datei gedruckt. Im Formular "Filter für Beitragsbescheinigung" kann der Datumsbereich für die Auswertung festgelegt werden. Die Abfrage "Abfrage_Beitragbescheinigung" ist die Datenquelle für den Serienbrief Bescheinigung-Vorlage.odt.
Im Formular Beiträge werden die Einzahlungen der Mitglieder erfasst. Das Formular Auswertung ist eine Übersicht über die verschiedenen Beiträge.
Gruß
Norbert
Re: Für einen Serienbrief Zahl in Worte umwandeln
Verfasst: Fr 11. Jan 2013, 18:01
von F3K Total
Hallo Norbert,
da musste ich zu einem Kunstgriff greifen:
Die aktuellen "Worte" müssen zwischengespeichert werden. Dies passiert so:
Wenn Du den Filter über den Zeitraum setzt, werden die "Wort-Makros" für die Beiträge und Spenden ausgeführt.
Das Makro führt die Abfrage durch, ermittelt die aktuellen Summen und trägt sie in zwei neue Spalten der Mitgliedertabelle ein.
- BetraginWortenBeitraegeaktuell
- BetraginWortenSpendenaktuell
So konnte ich erreichen, das Du deine Abfragen zur Serienbrieferstellung weiter verwenden kannst. Sie wurden jeweils um die Spalte, in der der Betrag in Worten steht, erweitert. Um diese Spalten habe ich auch die Filterformulare erweitert.
Die Beträge stimmen nur dann, wenn du, nach Eingabe neuer Buchungsdaten, vor dem Serienbriefexport, jeweils einmal in das entsprechende Filterformular gehst und den Knopf drückst!
Das machst Du vermutlich heute auch schon.
Hier kannst Du die "Worte" auch kontrollieren.
So nun viel Spaß damit
Gruß R
Re: Für einen Serienbrief Zahl in Worte umwandeln
Verfasst: Sa 12. Jan 2013, 11:30
von Norbse
Hallo F3k Total,
vielen, vielen Dank. Es funktioniert jetzt im meiner Originaldatenbank.
Gestern Abend/Nacht bin ich beim Übetragen in meine Datenbank erstmal gescheitert. Aber heute, mit einem zweiten Monitor am Notebook hat es fehlerfrei auf Anhieb geklappt.
Du hast mir echt eine Menge Zeit beim Erstellen der Bescheinigungen erspart.
Also recht herzlichen Dank für Deine Hilfe.
Gruß
Norbert