Autor Thema: Namen aus 13 Feldern in ein Feld schreiben  (Gelesen 3134 mal)

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Namen aus 13 Feldern in ein Feld schreiben
« am: 12.08.08 - 15:21:15 »
OK, der Titel klingt nicht sonderlich prickelnd. ABär. Die Felder enthalten die Namen im Format

Jupp Schlabodnik/Schlacke/GE
Franz Hermann auf und davon Bloedhorst/Dummdorfhausen/de

Herauskommen soll eine kategorisierte Ansicht nach Nachnamen.

Bloedhorst, Franz Hermann auf und davon
Schlabodnik, Jupp

Den Code für das Umbasteln im Format Nachname Komma Vorname habe ich hier irgendwo schon einmal gepostet.

Hier jetzt der Code, um durch die 13 Felder zu laufen und die Konvbertierung vorzunehmen.

Code
_MA:="";
@For( n := 1; n <= 13; n := n + 1;

_name:=
@Name([CN];@Select( n ;
mTeam_1;mTeam_2;mTeam_3;mTeam_4;mTeam_5;mTeam_6;mTeam_7;
mTeam_8;mTeam_9;mTeam_10;mTeam_11;mTeam_12;mTeam_13));

_lastName:=@RightBack(_name;" ");
_lenLastName:=@Length(_lastName);
_LenAll:=@Length(_name);
_diff:=_LenAll - _lenLastName;
_firstName:=@Trim(@Left(_name;_diff));
_MA:=_MA + _lastName + @If(_lastname !="" & _firstname != ""; ", ";"") + _firstName + "~"
);
_MA

Interessant finde ich das Konstrukt mit @Select, um abhängig von einem numerischen Wert einen feldinhalt an die Formel zu übergeben.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Re: Namen aus 13 Feldern in ein Feld schreiben
« Antwort #1 am: 12.08.08 - 20:17:34 »
@Select mag manchmal schon sinnvoll sein, wäre hier aber ein @GetField einfacher? Also
Code
_name:= @Name([CN];@GetField("mTeam_" + @Text(n)));

Schöne Grüße
-Werner

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Namen aus 13 Feldern in ein Feld schreiben
« Antwort #2 am: 12.08.08 - 21:22:00 »
Habe ich das Thema verpasst? Ich mache sowas simpler:

Code
persons := Person1 : Person2 : Person3 : .........;
tmp := @Name ([CN]; Persons);
tmpLastName := @RightBack (tmp; " ");
tmpName := tmpLastName + ", " + @Left (tmp; @Length (tmp) - @Length (tmpLastName) - 1);
tmpName

Auf Kosten der Leserlichkeit kann man da auch noch Zeilen sparen.

Wenn Thema verfehlt: Es ist unangenehm schwül-heiss hier  ;D Gewitterstimmung, aber kein Gewitter in Sicht ...

Bernhard

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Namen aus 13 Feldern in ein Feld schreiben
« Antwort #3 am: 13.08.08 - 06:34:25 »
@Werner: Richtig, das ist dann einfacher, wenn es sich wie im vorliegenden Fall um durchnummerierte Felder handelt. Mit @Select lassen sich auch unterschiedliche Feldnamen zusammenfassen.

@Bernhard: So etwas hatte ich auch anfangs. Heraus kommt dann das, was in der letzten Zeile markiert ist. heraus kommen soll aber das in der blauen Zeile:
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz