Autor Thema: Inhalt eines Feldes aufteilen  (Gelesen 2897 mal)

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Inhalt eines Feldes aufteilen
« am: 20.09.02 - 08:26:30 »
Hallo,

habe ein Problem, ich habe eine DB erstellt für Adressen, in diese DB habe ich einen Altbestand Importiert, hat auch Funktioniert.

Jetzt habe ich im Feld ort folgendes stehen

09648 Mittweida
09649 Seifersbach

Jetzt habe ich den inhalt in ein Feld cache kopiert
und die Plz mit

Field plz:=@left(cache;5)

in das Feld plz geschrieben.

Jetzt weiß ich aber nicht wie ich den Ort in das Feld Ort Schreiben soll da ich ja @right nicht nutzen kann da ich die anzahl der stellen nicht weiß. Oder gibt es eventuell eine möglichkeit die Stellenanzahl eines Feldes herauszufinden.

Tschau Ingo
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Inhalt eines Feldes aufteilen
« Antwort #1 am: 20.09.02 - 08:46:30 »
Hi,

du kannst die Funktionen @Left, @Right etc. nicht nur mit einer Anzahl von Zeichen aufrufen, sondern auch mit einem Zeichen bzw. Zeichenkette, ab der der linke oder rechte Teil zurückgegeben wird.

Beisp.: @Right("09648 Mittweida"; " ") ergibt Mittweida

Die Länge eines Feldinhalt kann mit der Formelfunktion @Length ermittelt werden.

Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Re: Inhalt eines Feldes aufteilen
« Antwort #2 am: 20.09.02 - 09:12:40 »
Ich habe noch keine Rechenoperationen gemacht aber geht das:

laenge=@Length(cache);
lange=laenge-6;
FIELD ort:=@Right(cache;lange);SELECT @All

Tschau Ingo
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Inhalt eines Feldes aufteilen
« Antwort #3 am: 20.09.02 - 09:20:33 »
Hi Ingo,

sollte funktionieren.


Versuch's doch auch mal damit:

FIELD ort:=@Right(cache;" ");

Das sollte so auch funktionieren und ist nur eine Zeile. Könnte sogar schneller sein, da nur ein Befehl ausgeführt werden muß.

Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Re: Inhalt eines Feldes aufteilen
« Antwort #4 am: 20.09.02 - 09:22:05 »
Nee hat nicht fubktioniert,

aber die lösung sieht so aus.

FIELD ort:=@RightBack(cache;6);SELECT @All
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline fritandr

  • Global Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 742
  • Geschlecht: Männlich
  • Höre nie auf besser zu werden...
    • KAMMACHI Consulting GmbH
Re: Inhalt eines Feldes aufteilen
« Antwort #5 am: 20.09.02 - 09:27:25 »
Hallo,

das mit @right(...) hat allerdings einen Haken wenn im Ursprungsfeld "76530 Baden-Baden Geroldsau" oder ähnliches steht. Es wird dann nämlich nur "Geroldsau" ermittelt. Oder täusche ich mich?

Ciao
fritandr
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Andreas Fritz

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Re: Inhalt eines Feldes aufteilen
« Antwort #6 am: 20.09.02 - 09:32:01 »
Nee wieso;

er beginnt beim 6. zeichen und kopiert alle zeichen nach Rechts in das angegeben feld.
Aber ich teste es mal aus und sage bescheid.

Tschau Ingo
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Re: Inhalt eines Feldes aufteilen
« Antwort #7 am: 20.09.02 - 09:32:36 »
Ja Funktioniert

Tschau Ingo
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re: Inhalt eines Feldes aufteilen
« Antwort #8 am: 20.09.02 - 10:23:43 »
ein Vorschlag zur besseren Kontrolle der Eingabe, bevor man hergeht und die Dinger in zwei Felder auftrennt, denn der User kann guten Blödsinn eingegeben haben, wie
ABCDE 12345-67857 oder
10000Berlin oder
100000 Berlin etc...

Eine zusammenhängende Formel, ich denke wohl selbstprechend:

_PLZCheck:=@Left(Checker;5);
@If(@Matches(_PLZCheck;"+{0-9}") ;@Success;@Return(@Prompt([OK];"Warn PLZ";"Warn PLZ")));

_Trenner:=@middle(Checker;5;1);
@if(_Trenner=" ";@success;@Return(@Prompt([OK];"Warn Trenner";"Warn kein Space zwischen PLZ und Ort")));

_OrtCheck:=@rightback(Checker;6);
@If(@Matches(_OrtCheck;"+{!0-9}") ;@Success;@Return(@Prompt([OK];"Warn Ort";"Warn Ort")));

Die Formel fängt alles ab außer Konstrukten wie etwa
10000 Berlin$§%"
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz