Via Agent eine bestimmte Zahl ändern

  • Hallo,


    ich habe eine Datenbank in welcher Verträge erfasst werden. Es gibt Feld, welches automatisch eine fortlaufende Nummer erhält.
    Die Nummer hat folgendes Format: 200804/999.


    Jetzt muss ich das Nummernformat umstellen. Anstatt des / soll nun eine 0 eingetragen werden.


    Bei mittlerweile 1000 Dokumenten eine ganze Menge Arbeit.


    Könnte mir freundlicherweise mit einem Agenten weiterhelfen, welcher automatisch die 4. Stelle von hinten mit einer 0 ersetzt?


    Danke im voraus.


    Ich habe aus einem Seminar mal einen Feldänderungsagenten bekommen, kann man den evtl umschreiben, wenn ja wie?


    Hier das Script:
    Sub Initialize
    Dim ws As New NotesUIWorkspace
    Dim ns As New NotesSession
    Dim dc As NotesDocumentCollection
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim nitem As NotesItem

    Dim feldliste() As String
    Dim feldname As Variant
    Dim NeuerWert As String
    Dim ct As Integer

    Set db = ns.CurrentDatabase
    Set dc = db.UnprocessedDocuments
    Set doc = dc.GetFirstDocument
    ct = 0

    Forall item In doc.Items
    Redim Preserve feldliste( ct )
    feldliste( ct ) = item.name
    ct = ct + 1
    End Forall

    feldname = ws.Prompt( 4 , "Feld wählen", "Bitte den Feldnamen wählen", "", feldliste )
    If feldname = "" Then Goto P_Ende

    NeuerWert =Inputbox( "Bitte den neuen Wert eingeben für Feld " & Cstr( feldname ) ,"Neuer Wert" )

    While Not doc Is Nothing
    Set nitem = doc.ReplaceItemValue( feldname, NeuerWert )
    Call doc.Save( True, True, True )
    Set doc = dc.GetNextDocument( doc )
    Wend

    P_Ende:
    End Sub

  • Hy,


    danke für deine schnelle Hilfe, nur so ganz funzt es bei mir nicht.


    Ich habe also einen Agenten erstellt mit folgender Formel:


    SELECT @All;
    @ReplaceSubstring(Number;"/";"0")


    Das Feld heißt Number.


    Er arbeitet auch jedes Dok ab, jedoch ändert nichts. Woran könnte das liegen?

    • Offizieller Beitrag

    was soll den mit dem Ergebnis passieren?, es soll doch bestimmt ins Feld zurückgeschrieben werden. Dafür brauchst Du noch ein @SetField.


    @SetField("Number"; @ReplaceSubstring(Number;"/";"0"))


    Gruß
    Dirk


    %edit
    [size=x-small][color=CC0000]bitte Themenpräfix beachten[/color][/size]

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

    • Offizieller Beitrag

    [size=x-small][color=009900]bitte Themenpräfix beachten[/color][/size]
    habs dann mal auf erledigt gesetzt :(


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein