Kürzel generieren
Hallo
ich habe eine Tabelle mit Vornamen und Nachnamen nun möchte ich aus dem Vor&Nachname ein kürzel erstellen wie kann ich das am besten lösen.
z.B Ralf Weiß da wäre das kürzel WIL oder so
danke für euere Hilfe
13 Antworten
-
"WIL" als Kürzel für "Ralf Weiß"? Wie wäre die dahinterstehende Systematik?
-
ich habe es als Beispiel das Kürzel Hatte ich mal in einer Firma Bekommen es ist ja egal wie er das zusammen setzt.
-
ich habe es als Beispiel das Kürzel Hatte ich mal in einer Firma Bekommen es ist ja egal wie er das zusammen setzt.
-
Na ja, du wolltest - Zitat: "[...] aus dem Vor&Nachname ein kürzel erstellen". Aber bitte - wenn's egal ist ...
-
Genau Copytexter
wie könnte da die Formel auschauen z.b. Ralf Weiß dann wäre das Kürzel RLW z.b
ich habe da keine ID wie das umsetzen kann.
-
Na ja, die einfachste Möglichkeit für Kürzel aus Ralf Weiß wäre natürlich RW. Diese kann man mit der Formel:
---
first(split(Vorname, "")) + first(split(Nachname, ""))
---
realisieren. Die Anderen Sachen wie WIL oder RLW setzen auf irgendwelche Regeln, die kein Programm kennt.
Leo
-
Danke Leo Das hilt mir schon weiter
-
Danke Leo
wie schaut es aber aus wenn der den 2 oder 3 buchstaben nehmen soll.
-
Es kommt drauf an welche 2-3 Buchstaben du nehmen möchtest. Die Ersten zwei aus Vorname und eine aus Nachname wäre:
upper(substr(Vorname,0,2)+substr(Nachname,0,1));
---
wenn du nur Konsonanten Benutzen möchtest kannst du die Vokale aus dem Namen entfernen zb so:
upper(replacex(lower(Text), "[aeyiuoöäö]", ""))
und dann mit substr die notwendigen Buchstaben nehmen. Problem ist es dabei bei Ralf sind es RL - was ist mei Emanuel? - MN? Wen du mir die Regeln erklärst kann ich dir dann auch die exakte formel liefern.
Leo
-
Danke Leo hast reicht uns, ich habe diese version verwendet.
upper(substr(Vorname,0,2)+substr(Nachname,0,1));
kann ich da auch eine abfrage einbauen so das das kürzel nur einmal verwendet werden kann.
Danke für deine Hilfe
-
Ich würde es als Formel für einen Button machen:
---
let myArr:=[upper(substr(Vorname,0,1)+substr(Nachname,0,1)), upper(substr(Vorname,0,2)+substr(Nachname,0,1)), upper(substr(Vorname,0,1)+substr(Nachname,0,2)), upper(substr(Vorname,0,2)+substr(Nachname,0,2)) ]];
myArr:=for i in myArr do
if cnt(select DEINETABELLE where 'KÜRZEL'=i)=0 then i
end
end;
let myDialog ("Kürzel vergeben","Für "+Vorname+" "+Nachname sind volgende Kürzel verfügbar, myArr);
for i in myArr do
if i=myDialog then
'KÜRZEL':=i
end
end
---
Habe die Formel nicht geprüft aber es sollte so funktionieren:
1. es werden aus Ralf Weiß volgende Kürzel generiert [RW,RAW,RWE,RAWE]
2. die Kürzel werden einzeln auf duplikate geprüft und die Duplikate aus dem Array entfernt
3. es wird ein Popupfenster angezeigt: Angenommen RW existiert bereitsKürzel vergeben
Für Ralf Weiß sind volgende Kürzel verfügbar
[RAW] [RWE] [RAWE]
4. Nach dem Klick auf entsprechenden Kürzel wird dieser in das Feld KÜRZEL geschrieben.
Leo
-
Hallo Leo habe es versucht er bring mehrere Fehler
weiß nicht weiter
-
if Vorname and Nachname then
let myArr := [upper(substr(Vorname, 0, 1) + substr(Nachname, 0, 1)), upper(substr(Vorname, 0, 2) + substr(Nachname, 0, 1)), upper(substr(Vorname, 0, 1) + substr(Nachname, 0, 2)), upper(substr(Vorname, 0, 2) + substr(Nachname, 0, 2))];
myArr := for i in myArr do
if cnt(select 'Kürzel Liste' where 'Kürzel' = i) = 0 then
i
end
end;
let myDialog := dialog("Kürzel vergeben", "Für " + Vorname + " " + Nachname + " sind volgende Kürzel verfügbar: ", myArr);
for i in myArr do
if i = myDialog then 'Kürzel' := i end
end
else
alert("Vorname und Nachname müssen ausgefüllt werden")
end
Content aside
- vor 4 JahrenZuletzt aktiv
- 13Antworten
- 1160Ansichten