Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Braintester am 07.07.10 - 10:30:05

Titel: [Gelöst] LS: Etwas vor den Inhalt eines Feld anfügen (Subject->BE:+Subject)
Beitrag von: Braintester am 07.07.10 - 10:30:05
Hi,
ich dreh gleich durch.
Ist bestimmt super einfach.
Ich habe das Feld Subject und möchte im Querysave vor das Subject "BE: " schreiben.
call source.FieldSetText("Subject"; "BE: "+Subject)
oder ähnliches mit Cstr() bekomm ich einfach nicht hin?

Kann mich einer erlösen?
Danke
Tobias


EDIT: Habe dashier schon in Formel geschrieben und in den Speicherbutton eingebunden.
Diese Funktion wollte ich ganz am Ende auch in LS schaffen:
FIELD Subject :=@If(!@Compare(AppointmentType;"3");"BE: "+@ReplaceSubstring(Subject;"BE: ";"");Subject)
Titel: Re: LS: Etwas vor den Inhalt eines Feld anfügen (Subject->BE:+Subject)
Beitrag von: Glombi am 07.07.10 - 10:40:52
Hier ein Schubser in die richtige Richtung:

dim doc as NotesDocument
dim subject as string
set doc = Source.Document
if doc.AppointmentType(0) <> "3" then
subject = Source.FieldgetText("Subject")
call Soure.FieldsetText( "Subject";"BE: " + subject )
end if   'doc.AppointmentType(0) <> "3"
Titel: Re: LS: Etwas vor den Inhalt eines Feld anfügen (Subject->BE:+Subject)
Beitrag von: Braintester am 07.07.10 - 10:55:40
Hey,
danke
Danke!

Musste zwar noch aus <> ein = machen und irgendwie hat er bei fieldsettext "sendto" reingearbeitet.
Aber jetzt funktionierts :)

dass ! vor @Compare mach ich um den Wert umzudrehen, denn bei @Compare kommt für true das gegenteil als true in einer @if bedeutet raus. 0/1

War ja schneller von dir reingetippt, als ich meinen Browser aktuallisieren kann.
Jetzt muss ich noch ein "BE: " entfernen, oder umgehen, falls schon eins drinn steht, sonst werdens bei jeder AKtuallisierung mehr :D

Mfg
Danke
Tobias


PS:
Mein ergebnis sieht so aus :

   Dim doc As NotesDocument
   Dim subject As String
   Set doc = Source.Document
   If doc.AppointmentType(0) = "3" Then
      subject = Source.FieldgetText("Subject")
      If Left$ ( subject, 4 ) <> "BE: " Then
         Call source.FieldSetText ( "Subject", "BE: " + subject)
      End If   'subj=Left$ ( subject, 4 ) <> "BE: "
   End If   'doc.AppointmentType(0) <> "3"
Titel: Re: [Gelöst] LS: Etwas vor den Inhalt eines Feld anfügen (Subject->BE:+Subject)
Beitrag von: koehlerbv am 07.07.10 - 11:23:57
Tobias, verwende als String-Konkatenator nicht das "+", sondern das korrekte "&". In anderen Zusammenhängen kannst Du sonst auf die Nase fallen.

HTH,
Bernhard
Titel: Re: [Gelöst] LS: Etwas vor den Inhalt eines Feld anfügen (Subject->BE:+Subject)
Beitrag von: Glombi am 07.07.10 - 11:24:19
ja, das sollte gehen.

@Compare halte ich in diesem Fall für übertrieben, das ist ja schon wie ein 4:0 über Spanien, wo ein 1:0 auch reicht  ;)

Also anstelle von
@If(!@Compare(AppointmentType;"3");"
besser ein
@If(AppointmentType = "3";...


Andreas
Titel: Re: [Gelöst] LS: Etwas vor den Inhalt eines Feld anfügen (Subject->BE:+Subject)
Beitrag von: Glombi am 07.07.10 - 11:27:57
Tobias, verwende als String-Konkatenator nicht das "+", sondern das korrekte "&". In anderen Zusammenhängen kannst Du sonst auf die Nase fallen.

HTH,
Bernhard

Das ist in der Tat besser. Auch in der Hilfe steht geschrieben
Zitat
To avoid confusion, use the & operator, not the + operator, for string concatenation.

Und wer will schon Konfusion stiften ;-)

Andreas