Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: VIE81 am Oktober 05, 2025, 21:00:49

Titel: Prüfen, ob Feld(er) leer sind/ist und verketten
Beitrag von: VIE81 am Oktober 05, 2025, 21:00:49
Hallo zusammen!

Irgendwie habe ich eine Denkblockade - oder ist mein Problem vielleicht zu trivial?

Ich habe in einer Tabelle (Speichern von Personaldaten) u.a. vier Felder (alle vom Typ char, maximale Länge 255 Zeichen) zur Angabe von


Zusätzlich habe ich ein weiteres Feld ("P_NAME_KOMB"), in dem ich - nachdem es eben mehrere Varianten der Namensdarstellung geben kann - den ggf. verketteten Namen inkl. aller evtl. akademischen Grade speichern möchte.

Beim Click-Event auf einen CmdBtn, bei dem ich den Datensatz speichere, habe ich zusätzlich folgenden Code hinterlegt, der die Inhalte des der vier (ggf. befüllten) Felder im Feld "P_NAME_KOMB" anhand der Eingaben verketten soll.

If Me![P_AKADGRAD] = "" And Me![P_AKADGRAD_NACHG] = "" Then
    Me![P_NAME_KOMB] = Me![P_VORNAME] & " " & UCase(Me![P_ZUNAME])
    ElseIf Me![P_AKADGRAD_NACHG] = "" Then
    Me![P_NAME_KOMB] = Me![P_AKADGRAD] & " " & Me![P_VORNAME] & " " & UCase(Me![P_ZUNAME])
    ElseIf Me![P_AKADGRAD] = "" Then
    Me![P_NAME_KOMB] = Me![P_VORNAME] & " " & UCase(Me![P_ZUNAME]) & ", " & Me![P_AKADGRAD_NACHG]
    Else
    Me![P_NAME_KOMB] = Me![P_AKADGRAD] & " " & Me![P_VORNAME] & " " & UCase(Me.P_ZUNAME) & ", " & Me![P_AKADGRAD_NACHG]
    End If

Wenn ich nun alle Felder mit Werten befülle - sagen wir, die Person heißt mit allen Ausprägungen "Dr. Maria MUSTERFRAU, BSc" - funktioniert das auch anstandslos.

Nun aber zu meinem Problem:


Ich bin echt ratlos - habe den Code auch schon so umgeschrieben, dass auf "NULL" geprüft wird - leider mit dem gleichen Erfolg wie oben beschrieben.

Was mache ich hier falsch?
Kann mir bitte jemand helfen?

Vielen Dank im Voraus und viele Grüße,
VIE81
Titel: Re: Prüfen, ob Feld(er) leer sind/ist und verketten
Beitrag von: Normalo0815 am Oktober 05, 2025, 21:41:43
Hallo VIE81!

P_Name_Komb braucht nicht in der Tabelle gespeichert werden, da dieser jederzeit z. B. in einer Abfrage berechnet werden kann.

Lösche daher das Tabellenfeld P_Name_Komb in der Tabelle und erstelle stattdessen ein berechnetes Feld in der Abfrage:

P_Name_Komb: P_AKADGRAD + " " & P_VORNAME & " " & UCase(P_ZUNAME) & ", " + P_AKADGRAD_NACHG
Das berechnete Feld P_Name_Komb kann dann in Formularen und Berichten angezeigt werden, wenn die betreffende Abfrage als Datenherkunft dient.

Siehe auch:
https://www.donkarl.com?FAQ2.12 (https://www.donkarl.com?FAQ2.12)
Titel: Re: Prüfen, ob Feld(er) leer sind/ist und verketten
Beitrag von: VIE81 am Oktober 05, 2025, 22:48:03
DANKE Normalo0815!

Das habe ich mit trivial gemeint - man sieht den Wald vor lauter Bäumen nicht mehr...
Einmal mehr in meinem Leben mit der rechten Hand überm Kopf am linken Ohr gekratzt  ;D  ;D

DANKE nochmals und viele Grüße,
VIE81