Seite 1 von 2

Briefanrede automatisch erstellen

Verfasst: Fr 15. Nov 2013, 12:50
von E60
Hallo liebes Libreoffice Forum!

Ich würde gerne eine Kundendatenbank erstellen.

Ich habe eine Kundentabelle und eine zweite Tabelle mit dem unten angeführten Anreden und einer Beziehung zur Kundentabelle erstellt.

Felder:
Anredenr Anrede
1
2 Herr
3 Frau
4 Firma


Die angeführten Anrede kann mann über Listenfeld im Kundenformular auswählen.

In der Kundentabelle habe ich ein Feld Briefanrede.
In diesen Feld sollte wenn man

Herr auswählt Sehr geehrter Herr und der Name aus der Kundentabelle stehen
bei Frau sollte Sehr geehrte Frau und der Name aus der Kundentabelle stehen
und bei Firma oder wenn nichts auswählt ist Sehr geehrte Damen und Herren stehen.


Vielen Dank für eure Tipps.

Re: Briefanrede automatisch erstellen

Verfasst: Fr 15. Nov 2013, 17:19
von RobertG
Hallo E60,

warum willst Du direkt die Briefanrede in der Kundentabelle speichern? Eigentlich wird dort der Fremdschlüssel gespeichert, also die "Anredenr". Über die wird dann in Abfragen das ausgelesen, was für die weitere Verarbeitung erforderlich wäre.
Für Dein Beispiel würde ich das folgendermaßen in der Tabelle lösen:

Code: Alles auswählen

Anredenr       Anrede       Briefanrede           
1                           Sehr geehrte Damen und Herren
2              Herr         Sehr geehrter Herr
3              Frau         Sehr geehrte Frau
4              Firma        Sehr geehrte Damen und Herren
Dann hast Du ein zusätzliches Feld, das Dir direkt die entsprechenden Texte zur Verfügung stellt. So etwas kann auch hart in eine Abfrage geschrieben werden oder auch später in den Bericht, aber diese Verfahren sind für mich deutlich umständlicher.

Gruß

Robert

Re: Briefanrede automatisch erstellen

Verfasst: Fr 15. Nov 2013, 18:55
von E60
Vielen Dank!!

So habe ich es mir auch schon überlegt.

Wie ist es dann möglich, dass der Nachname hinzugefügt wird??

Re: Briefanrede automatisch erstellen

Verfasst: Fr 15. Nov 2013, 19:03
von RobertG
Hallo E60,

Du hast 2 Tabellen, Kunden und Anrede. In der Tabelle Kunden gibt es eine Anredenr.
In der Abfrage steht jetzt
SELECT "Anrede"."Briefanrede"||' '||"Kunden"."Nachname" AS "Briefanrede_Name" FROM "Kunden", "Anrede" WHERE "Kunden"."Anredenr" = "Anrede"."Anredenr"
Felder werden in Abfragen mit || verbunden. Dazwischen habe ich ein Leerzeichen eingefügt.

Gruß

Robert

Re: Briefanrede automatisch erstellen

Verfasst: Fr 15. Nov 2013, 21:34
von E60
Vielen Dank!

Funktioniert ganz hervorragend!

Ich habe noch das Feld Titel miteinbezogen.

Wie kann man am Ende ein Rufzeichen hinzufügen?

Re: Briefanrede automatisch erstellen

Verfasst: Sa 16. Nov 2013, 11:07
von RobertG
Hallo E60,
E60 hat geschrieben: Wie kann man am Ende ein Rufzeichen hinzufügen?
Üblicherweise macht "man" das heute nicht mehr - da kommt ein Komma hin und es geht klein geschrieben in der nächsten Zeile mit dem Inhalt weiter. Aber natürlich kannst Du es gerne anhängen mit ||'!' .

Gruß

Robert

Re: Briefanrede automatisch erstellen

Verfasst: Sa 16. Nov 2013, 13:12
von E60
Vielen Dank!

Wenn die Felder Nachname und Titel leer bleiben, dann wird keine Abfrage generiert.

Re: Briefanrede automatisch erstellen

Verfasst: Sa 16. Nov 2013, 14:14
von F3K Total
Hallo,
das kannst Du z.B. mit einem LEFT JOIN lösen:

Code: Alles auswählen

SELECT 
    "Anrede"."Briefanrede"||' '||"Kunden"."Nachname" AS "Briefanrede_Name" 
FROM 
    "Kunden" 
LEFT JOIN 
    "Anrede" 
ON 
    "Kunden"."Anredenr" = "Anrede"."Anredenr"
Gruß R

Re: Briefanrede automatisch erstellen

Verfasst: Sa 16. Nov 2013, 15:26
von E60
Vielen Dank!

Leider habe ich noch immer das selbe Problem!!

Re: Briefanrede automatisch erstellen

Verfasst: Sa 16. Nov 2013, 15:31
von F3K Total
Nimm mal eine Spalte, die in der Tabelle Kunden vorkommt, mit in die Abfrage:

Code: Alles auswählen

SELECT
    "Kunden"."Nachname",
    "Anrede"."Briefanrede"||' '||"Kunden"."Nachname" AS "Briefanrede_Name"
FROM
    "Kunden"
LEFT JOIN
    "Anrede"
ON
    "Kunden"."Anredenr" = "Anrede"."Anredenr"