Guten Morgen,
gibt es eine Möglichkeit den mit der Funktion/Modul "fGetFullNameOfLoggedUser" ausgelesenen User-Namen verkürzt anzeigen zu lassen? Aktuell: Mustermann, Max (XYZ). Ich benötige nur den Namen ohne die Klammer und den Inhalt.
=Right(fGetFullNameOfLoggedUser, 5)
bringt mir chin. Schriftzeichen im Ergebnis :o
Gruß
Diese Frage solltest du am besten jemandem stellen, der die/das "fGetFullNameOfLoggedUser" kennt.Alternativ könntest hier einen Link zu diesem Ding posten, oder falls es eine überschaubare Funktion ist, auch einfach deren Quellcode.
Zitat von: fsimnetz am Februar 14, 2024, 07:09:15Aktuell: Mustermann, Max (XYZ). Ich benötige nur den Namen ohne die Klammer und den Inhalt.
=Right(fGetFullNameOfLoggedUser, 5)
Right(...,5) liefert dir die ersten 5 Zeichen
von rechts. Das ist genau das Gegenteil, von dem was du willst.
Eine Kombination aus
Left und
InStr erscheint hier vielversprechender.
Ich vermute, dass es aber einen sinnvolleren Ansatz gibt, wenn man sich das obskure fGetFullNameOfLoggedUser anschauen würde. Der Sachverhalt mit den "chinesischen Zeichen" deutet auf eine fehlerhafte Implementierung einer API-Funktion hin.
...würde doch noch mal darauf zurückkommen.
den betr. Link findest Du unter
FAQ2.24 donkarl (vollständiger Name des Windows-Benutzers)
mit RIGHT möchte ich erreichen, dass lediglich die Klammer entfernt wird. Der Vor - und Nachname der unterschiedlichen User (jetzt noch mit Klammer/Inhalt) wird in einem Textfeld gespeichert. Aus "optischen" Gründen benötige ich nur den Namen.
Gruß
Zitat von: fsimnetz am Februar 14, 2024, 13:26:02den betr. Link findest Du unter
FAQ2.24 donkarl (vollständiger Name des Windows-Benutzers)
Das Byte-Array in der Funktion fStrFromPtrW ist falsch dimensioniert.
Ändere mal die Zeile:
ReDim abytBuf(lngLen)Zu:
ReDim abytBuf(lngLen - 1)Damit ist das Problem mit den "chinesischen Zeichen" gelöst.
Zitat von: fsimnetz am Februar 14, 2024, 13:26:02mit RIGHT möchte ich erreichen, dass lediglich die Klammer entfernt wird.
Wie bereits gesagt: Mit
Right erreichst du das Gegenteil.
Hallo,
ZitatAus "optischen" Gründen benötige ich nur den Namen.
Ich nehme an, nicht den Namen, sondern den Nachnamen. Und der steht ja nach Deiner Beschreibung an 2. Stelle nach dem Vornamen.
Du solltest Dich mal präzise ausdrücken, was Du willst, mit verkürzt anzeigen dürftest D da nicht weit kommen.
;D vielen Dank, nach der Korrektur stimmen auch die Zeichen wieder.
Trotzdem komme ich mit meiner Absicht nicht weiter...
Der Benutzername wird hiermit wie folgt ausgegeben: Mustermann, Max (XYZ). Ich benötige für das betreffende Feld im Datensatz lediglich Mustermann, Max (also Nachname, Vorname).
Mit der Funktion(am Bsp. Mustermann..): =left(fGetFullNameOfLoggedUser, 15) erreiche ich den Wegfall der Klammer.
Doch wie ist das nun bei einem anderen User, dessen Benutzername bspw. Müller, Jakob (XYZ) ist und dieser einen Datensatz unter Angabe seines Benutzernamens (durch Druck Button mit obiger Funktion) im Feld Sachbearbeiter ergänzt. Die Zeichenkette seines Nach-/Vornamen hat ja eine andere Länge...
Habe ich einen Denkfehler?
Gruß
Einen String zu kürzen ist doch eine einfache Aufgabe.
Beginne mit der Logik.
-> Ermittle Position der Zeichenfolge " (" => Instr
-> Verringere Positionszahl um 1 und wende Left an
Eine andere Möglichkeit wäre, per Mustersuche den Ausdruck " (...)" zu ermittel und durch Replace mit Nullstring zu eliminieren.
:( bekomme ich nicht hin...newbie halt..
Zitatbekomme ich nicht hin
Die Logik oder die technische Umsetzung?
X = Left("Mustermann, Max (XYZ)", Instr(1, "Mustermann, Max (XYZ)", " (") - 1)
Hallo,
=Left(fGetFullNameOfLoggedUser,InStr(fGetFullNameOfLoggedUser," (")-1)
DANKE!!
die technische Umsetzung wars. :-[