November 27, 2020, 06:19:40

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


mehrere Wenn Bedingungen

Begonnen von SMBR, November 06, 2020, 21:15:26

⏪ vorheriges - nächstes ⏩

SMBR

Hallo Beisammen und guten Abend,
ich habe leider mal wieder ein Problem bei dem ich nicht weiter komme. Vielleicht sehe ich den Wald vor lauter Bäume net. Bastel schon einige Zeit an dem Problem leider ohne Erfolg. Es geht um folgendes.

Ich habe eine Tabelle "tblEmpfaenger". Diese beinhaltet unter anderem die Felder "empfaAnsprechpartner" , "empfAnrede". In einer Abfrage möchte ich mir die Anrede für einen späteren Brief bzw Rechnung zusammen basteln.
Das Ergebnis sollte sein, dass wenn ich in der Tabelle im Feld Anrede "Frau" steht, möchte ich als Anrede "Sehr geehrte Frau & empfaAnsprechpartner" im anderen Fall wenn im Feld empfaAnrede  ein "Herr" steht, möchte ich entsprechend "Sehr geehrter Herr " & empfaAnsprechpartner.. und im letzten Fall wenn das Feld "empfaAnsprechpartner" lerr ist, sollte da stehen"Sehr geehrte Damen und Herren"

Im Moment sieht meine Formel so aus, welche sicherlich sowas von falsch ist:
Annsprechpartner: Wenn([empfaAnrede]="Herr";"Sehr geehrte Damen und Herren";Wenn([empfaAnrede]="Frau";"Sehr geehrte Frau " & [empfaAnsprechpartner];Wenn([empfaAnsprechpartner]="";"Sehr geehrte Damen und Herren")))Vielleicht kann mir jemand kurz einen Tip geben? Danke schon mal im Voraus.


MzKlMu

Hallo,
das macht man in einer Datenbank viel einfacher. Für die Anrede legt man eine Tabelle an mit einem Primärschlüssel.

AnredeID       Anrede        Briefanrede
  1            Herr         Sehr geehrter Herr
  2            Frau         Sehr geehrte Frau
  3                         Sehr geehrte Damen und Herren
Das Feld Anrede bleibt bei 3 leer (=NULL)

In das Feld empfAnrede wird nur die Zahl gespeichert, die man per Kombinationsfeld auswählt.
Die Abfrage für den Bericht kriegt noch die Anredetabelle dazu verknüpft üner die Zahl (AnredeID).
Dann hast Du alle Felder zur Anzeige zur Verfügung. Die Wenn Orgie entfällt ersatzlos.

PS:
Wenn man in einer Datenbank verschachtelte Wenn() braucht, hat man mit ziemlicher Sicherheit Fehler in der Tabellenstruktur.
Gruß
Klaus

ShenTo19

Hallo,
erstelle eine Tabelle mit einem Feld "Anrede", in der Du Deine drei Fälle "Herr, Frau, Damen und Herren" vorgibst. Diese kannst Du dann mit Deiner erwähnten Tabelle auf geeignete Weise verknüpfen und in einer Abfrage mit beiden Tabellen die Anrede-Strings zusammensetzen.
Gruß Thomas

MzKlMu

@ShenTo19
Wenn man in dieser Anredetabelle auch die Briefanrede in einem Feld unterbringt (siehe mein Beitrag), kann man sich auch das Zusammensetzen der Anredestrings sparen. Was zu bevorzugen ist.
Gruß
Klaus

ShenTo19

Hallo Klaus,
Du hast natürlich Recht. Unsere Anworten haben sich zeitlich überschnitten.
Gruß Thomas

SMBR

November 08, 2020, 15:17:19 #5 Letzte Bearbeitung: November 08, 2020, 15:22:15 von SMBR
Zitat von: MzKlMu am November 06, 2020, 21:38:38@ShenTo19
Wenn man in dieser Anredetabelle auch die Briefanrede in einem Feld unterbringt (siehe mein Beitrag), kann man sich auch das Zusammensetzen der Anredestrings sparen. Was zu bevorzugen ist.
Ich habe deinen Tip beherzigt und mich für deine vorgeschlagene Variante entschieden. Eine einfache Änderung mit maximaler Wirkung. Herzlichen Dank. Zur Sicherheit stelle ich mal mein Datenmodell onlin. Für mein Dafürhalten sollte es doch halbwegs den Normen entsprechen. Noch einen schönen Sonntag.Sie dürfen in diesem Board keine Dateianhänge sehen.