Datensatz duplizieren bei automatische angelegter Nummer

Dieses Thema im Forum "Hilfe und Support" wurde erstellt von ErichW, 13. Mai 2019.

  1. ErichW

    ErichW New Member

    Hallo,

    ich lasse in einem eindeutigen Schlüsselfeld eine automatische Nummer bei der Neuanlage eines Datensatzes generieren. Das funktioniert auch sehr gut.

    Leider hat sich mit der Zeit herausgestellt, dass in vielen Datensätzen überwiegend gleiche Inhalte stehen. Das Duplizieren des Datensatzes und darauf die Korrektur der wenigen Unterschiede wäre nun ideal. Leider scheint Papyrus das nicht zu mögen. Ich bekomme dann zwar eine Kopie des Datensatzes, aber eben auch die gleiche laufende Nummer im Schlüsselfeld. Der neue Datensatz lässt sich dann nicht speichern, die laufende Nummer lässt sich auch nicht verändern. Das scheint mir zwar logisch zu sein, aber auch bedauerlich, weil ich das an sich so schöne Duplizieren nicht nutzen kann.

    Hat irgendjemand eine Idee, wie ich das Problem lösen kann? Oder muss ich einfach damit leben, dass ich, wenn ich eine automatische Nummer haben will, ich eben nicht duplizieren kann?

    FG

    ErichW
     
  2. Waldfried

    Waldfried Active Member

    Du kannst eine automatische Nummer generieren, indem du "Automatisch erstelltes Schlüsselfeld" abstellst und nur "Jeder Wert muss eindeutig sein" Im Tab "Prüfung" aktivierst. Statt dessen legst du im Menü "Datenbank" > "Eigenschaften" eine Variable an, z.B. "lfde" (Typ: ganze Zahl) und gibst in den Feldeigenschaften deines Zählfelds im Tab "Rechenfeld" etwa die Formel ein
    "LET lfde = lfde + 1 RETURN lfde".

    Nun wird dein Feld wie vorher hochgezählt, du kannst diese Zahl aber jederzeit manipulieren.

    Ein Nachteil sei gleich dazugesagt: Wenn du einen neuen Datensatz per Kopie erstellt hast, wird der nächste ganz "Neu" erstellte Datensatz eine Nummer im Rückstand sein. Du musst dann in der Variablendefinition den Startwert manuell anpassen, damit der wieder "in der Spur" ist.
     
  3. ErichW

    ErichW New Member

    Vielen Dank!