Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Jewgenij am 27.04.04 - 23:16:47

Titel: text im feld ersetzen
Beitrag von: Jewgenij am 27.04.04 - 23:16:47
hallo,

ich habe das problem, dass in  einer Lotus Notes DB ein Feld Vor+Nachnamen von  verschiedenen personen enthält, die sehr grosse Anzahl zusammen darstellen. Nun hat sich eine person geändert.

Die frage konkret:
Wie andere ich text "a" in text "b" in einem feld einer Maske?

Es muss doch irgendwie automatisiert gehen. alternativ müsste ich 400 mal den namen per hand ändern.

danke
Titel: Re:text im feld ersetzen
Beitrag von: koehlerbv am 27.04.04 - 23:18:55
Guckst Du in DesignerHelp:
@ReplaceSubstring.

Bernhard
Titel: Re:text im feld ersetzen
Beitrag von: TMC am 27.04.04 - 23:19:26
Wie andere ich text "a" in text "b" in einem feld einer Maske?

Siehe Designerhilfe und u.a. @ReplaceSubstring.
Titel: Re:text im feld ersetzen
Beitrag von: TMC am 27.04.04 - 23:20:43
ooops, da war Bernhard etwas schneller - aber die AW praktisch identisch  :)
Titel: Re:text im feld ersetzen
Beitrag von: koehlerbv am 27.04.04 - 23:32:38
Wo sollte unsere Meinung auch differieren ?  ;)

Gute Nacht,

Bernhard
Titel: Re:text im feld ersetzen
Beitrag von: Jewgenij am 29.04.04 - 01:26:24
nach stundenlanger suche hier im forum:

FIELD författare := @ReplaceSubstring(författare;"Jewgenij Grobman";"CN=Jewgenij Grobman/OU/=DE/O=CENotes");
SELECT @All


ist das richtig so? was bedeutet "select @all"? Lotus schreibt mir das automatisch hin.

habe ich es denn an die richtige stelle platziert? agenten/objecte/aktionen/../formel?

nun wenn ich es abspeichere und auf testen gehe... schreibt er:
"Dieser Agent muss von einem Ansichtsfenster aus gestartet werden."
Das gleiche beim "starten".

Was habe ich nun falsch, was richtig gemacht?
wofür sind "aktivieren "/ "deaktivieren" in diesem zusammenhang?


Danke
Titel: Re:text im feld ersetzen
Beitrag von: Glombi am 29.04.04 - 08:35:44
Das SELECT @All bedeutet, der Agent läuft über alle Dokumente, die das Kriterium "Für welche Dokumente soll er gelten" erfüllen.
Wenn Du bspw. eintragst "Alle gewählten Dokumente", dann läuft er eben über die gewählten Dokumente.

In dem Fall würde ich folgendes machen:
Der Agent läuft über alle Dokumente in der Datenbank. Damit er nur "Jewgenij Grobman" ändert, muss das SELECT Statement als ERSTES codiert sein.

Also so:
SELECT förtfattare = "Jewgenij Grobman";
FIELD FIELD författare := @ReplaceSubstring(författare;"Jewgenij Grobman";"CN=Jewgenij Grobman/OU/=DE/O=CENotes");

Dann werden nur Dokumente geändert, in denen im Feld förfatarre der Eintrag "Jewgenij Grobman" steht.

Der Agent sollte als "Manuell aus dem Menü Aktionen" getriggert werden.

Weitere Infos findest Du in der Notes Designer Hilfe.

Andreas
Titel: Re:text im feld ersetzen
Beitrag von: koehlerbv am 29.04.04 - 13:32:51
Zitat
Der Agent läuft über alle Dokumente in der Datenbank. Damit er nur "Jewgenij Grobman" ändert, muss das SELECT Statement als ERSTES codiert sein.

Das muss nicht unbedingt sein. Dokumente, in denen @ReplaceSubstring wegen des Quellstrings / der Quellliste nicht greift, werden auch nicht geändert.
Also: Ob SELECT vorher steht und auf "Jewgenij Grobmann" filtert oder nicht, ist bestenfalls für die Laufzeit interessant. Und da SELECT hier ein dbSearch ausführt, ist das auch nicht gerade die Performancesteigerung.

HTH,
Bernhard
Titel: Re:text im feld ersetzen
Beitrag von: Jewgenij am 29.04.04 - 13:44:57
gibt es eine möglichkeit erstmal zu sehen, wieviele datensätze er ändert? oder diese anzeigen lassen.

vertrauen ist gut, kontrolle ist besser! ;)
Titel: Re:text im feld ersetzen
Beitrag von: Glombi am 29.04.04 - 13:52:36
Du machst einen Agenten mit der Formel

SELECT förtfattare = "Jewgenij Grobman";

und der Einstellung "Dokumente in der Ansicht auswählen" (steht unten links etwas versteckt)

Dann werden die Dokumente markiert.

Andreas
Titel: Re:text im feld ersetzen
Beitrag von: cococo69 am 30.04.04 - 11:49:35
Zitat
Einstellung "Dokumente in der Ansicht auswählen" (steht unten links etwas versteckt)

... steht bei mir unten RECHTS, sonst aber ein guter Tipp - das habe ich bisher noch nie verwendet!

Danke!
Gruß Armin
Titel: Re:text im feld ersetzen
Beitrag von: Glombi am 30.04.04 - 11:52:48
Zitat
Einstellung "Dokumente in der Ansicht auswählen" (steht unten links etwas versteckt)

... steht bei mir unten RECHTS, sonst aber ein guter Tipp - das habe ich bisher noch nie verwendet!

Danke!
Gruß Armin
:-[ Äh ja. Du hast recht
Das nächste mal sehe ich vorher nach  ;D
Titel: Re:text im feld ersetzen
Beitrag von: Jewgenij am 01.05.04 - 19:54:28
Du machst einen Agenten mit der Formel

SELECT förtfattare = "Jewgenij Grobman";

und der Einstellung "Dokumente in der Ansicht auswählen" (steht unten links etwas versteckt)

Dann werden die Dokumente markiert.

Andreas

Ich habe es so gemacht, abgespeichert und aus Notes gestartet.
Ich bekomme nur entweder "Aktion fehlgeschlagen. Um diesen Agenten auszuführen, muss mindestens ein dokument ausgewählt sein" oder wenn ich auf ein dokument in einer kategorie markiere und den agenten starte, passiert überhaupt nichts.

Warum, mache doch eigentlich alles, so wie ihr sagt, aber auch so wie  im buch Steht.
 ???
Titel: Re:text im feld ersetzen
Beitrag von: animate am 01.05.04 - 21:10:43
du musst als Ziel für den Agent "Alle Dokumente in der Ansicht" auswählen. du hast vermutlich im Moment "Ausgewählte Dokumente" gewählt.
Titel: Re:text im feld ersetzen
Beitrag von: Jewgenij am 01.05.04 - 21:23:52
ja, jetzt gab es eine wirkung. wenn ich aus lotus notes in der db in einer ansicht den agenten starte, kommt ein waagerechter statusbalken, der dockumente abzählt mit dem zitat "agent xy wird auf xx dokumente angewendet".
wenn dieser aber durch ist, verändert sich in der ansicht nichts, ich kriege auch keine neue(temporäre).
 :-\
Titel: Re:text im feld ersetzen
Beitrag von: animate am 01.05.04 - 21:34:23
wenn du die Option "Dokumente auswählen" gewählt hast und die korrekte SELECT-Formel hast, dann werden die entsprechenden Dokumente in der Ansicht markiert (mit einem Haken). Das funktioniert, ich habe es gerade getestet. Da muss wohl doch was anderes bei dir noch nicht ganz stimmen.

Wie sieht deine Formel im Agent denn aus? Und was möchtest bzw. erwartest du, dass die Formel tut?