Designer: Combox mit einem Text-Wert füllen (Call uidoc.FieldSetText)

  • Hallo zusammen,


    ich habe in vielen Foren-Einträgen gelesen, dass man nur mit einem versteckten Hilsfeld die Versorgung der Combobox erreichen kann.
    Gibt es denn keinen einfacheren Weg? Die Füllung einer DialogListe durch den gleichen Text-Feld-Inhalt funktioniert doch auch ...


    Besten Dank und freundliche Grüße


    Marc Dittberner

  • Was genau meinst du damit ?


    Die Auswahlmöglichkeiten oder den Wert selbst ?


    Bei beidem brauchst du aber nicht zwangsweise ein Hilfsfeld.


    Bei ersterem kannst du die Formel auch direkt in den Eigenschaften der Combobox eintragen.


    Beim anderen kommt es darauf an, nach welcher regel es gefüllt werden soll.


    Da können z.B. Masken- oder Feldereignisse nützlich sein

    • Offizieller Beitrag

    Bei der Befüllung mit Werten muss noch beachtet werden, ob das Feld im Frontend (Wert eintragen) oder Backend (Alias eintragen) bestückt wird.


    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

  • Der Wert soll im Frontend gefüllt werden.


    Ich habe einen Positionsblock mit Rechnungsdaten, u.a. dem Feld Kostenstelle_1.


    In einem zweiten Auruf muss ein Zeichner die relevante Kostenstelle (ZKostenstelle) in einer anderen Maske aber demselben Fenster pflegen.
    Weicht diese von Kostenstelle_1 ab soll _1 überschrieben werden.


    Beide Kostenstellenfelder sollen Comboboxen sein, die durch einen @DBLookkup mit Werten versorgt werden ...

    • Offizieller Beitrag

    d.h. gleiches Dokument wird nur mit einer anderen Maske geändert?


    Dann würde ich es im QuerySave überschreiben.


    Gruß
    Dirk

  • Ergebnis entspricht dem Verhalten, wenn ich es im 'Exiting' vom Feld ausführe: Kostenstelle_1 ist nach dem Sichern leer.
    (Ich hätte es auch lieber im Exiting, da der Zeichner ansonsten verwirrt sein könnte.)


    Der Code lautet:


    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument

    Dim kst As String
    Dim kstz As String

    Set uidoc = ws.CurrentDocument

    kst= uidoc.FieldGetText("Kostenstelle_1")
    kstz=uidoc.FieldGetText("ZKostenstelle")
    If kst <> kstz And kstz <> "" Then
    Call uidoc.FieldSetText("Kostenstelle_1", kstz)
    End If

    • Offizieller Beitrag

    Exiting wird nicht ausgeführt, wenn der Anwender vor dem Speichern nicht aus dem Feld springt !!!!
    D.h. es muss sicherheitshalber auch noch im QuerySave geprüft und verabrbeitet werden.


    Gruß
    Dirk

    • Offizieller Beitrag

    schau mal in den Eigenschaften nach dem Feld. Direkt nach dem Speichern sollte der richtige Wert drin stehen.


    Eventuell steht die Kostenstelle nicht in den Werten der Combobox.
    Bringt der @DBLookup verschiedene Werte je nach Anwender oder Dokumenteigenschaften?


    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

  • Hallo Dirk,


    ich musste sowieso wegen der Bearbeitbarkeit diverser Felder eine neue Maske bauen(kopieren), indem das Feld nun als Textfeld (Computed) erscheint.
    Die Übergabe im QuerySave funktioniert in dieser Konstellation.


    (Der Lookup holt die Kostenstelle aus einer View, die eine Liste der Kostenstellen enthält; unabhängig von Anwender und Dokumenteneigenschaft)


    Ich nehme deine Eingaben mit und komme vielleicht bei Anlass noch einmal zurück.


    Besten Dank und eine gute Zeit!


    Marc