0

Formular als Page: Felder leeren für neuen Datensatz

Hallo Zusammen,

ich habe eine Tabelle "Gefährdungsermittlung", bei der ich bislang nur die Formularansicht genutzt habe, um ein Dokument mit den Eingaben zu erstellen. Nachdem das Dokument erstellt wurde, gab es dann die Buttons "Neu"

openRecord(create 'Gefährdungsermittlung')

und "Weitere Bäume", bei dem ein paar Felder gleich bleiben sollen

let new := (create 'Gefährdungsermittlung');
let me := this;
new.(
    Datum := me.Datum;
    Projekt := me.Projekt;
    Ort := me.Ort;
    Auftraggeber := me.Auftraggeber;
    'Aufsichtsführender' := me.'Aufsichtsführender';
    'Personal (Qualifikation)' := me.'Personal (Qualifikation)'
);
openRecord(new, "2")

Nun wollte ich das ganze mal in eine Page umwandeln, weil ich weder die Records brauche, noch die obere Leiste beim Formular. Die Buttons funktionieren nun nicht mehr.

Gibt es hier einen einfachen Weg, um alle Felder einer Page auf Null zu setzen und was wäre dann der beste Weg, um bei einem 2. Button einige Felder davon auszunehmen?

9 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 7 Monaten
    • Gemeldet - anzeigen

    Hallo, ich bin mir nicht sicher, ob ich die Frage richtig verstehe, aber grundsätzlich lassen sich Datenfelder mit der Zuweisung "null" leeren. Nach dem Anlegen des neuen Datensatzes könnte man dem Script also noch entsprechende Zeilen hinzufügen, mit denen temporären Feldern auf der Page geleert werden:

    Datum := null;
    Projekt := null;
    ...
    

    Das funktioniert mit allen Feldtypen, nur bei Verknüpfungen muss man statt "null" die Ziffer 0 angeben.

      • yellow_scissors
      • vor 7 Monaten
      • Gemeldet - anzeigen

      diese möglichkeit kam mir auch in den sinn, das sollte zum gewünschten ergebnis führen.

      nur es sind in diesem fall 20-30 felder, also müsste ich das 20-30mal eintippen, da habe ich mich gefragt, ob es auch einfacher geht.

      außerdem muss ich auch bei jeder änderung der felder immer daran denken, das neue feld auch wieder in den skrit vom "neuer datensatz"-button aufzunehmen. da währe ja irgendwas vom typ "delete(this)" deutlich schöner

      • Ninox-Professional
      • planoxpro
      • vor 7 Monaten
      • Gemeldet - anzeigen

       Ich hab's noch nicht ausprobiert, aber ein "delete" wird wahrscheinlich nicht funktionieren, da Pages immer nur aus einem einzigen Datensatz bestehen. Dazu müsste man alternativ wohl doch eine normale Tabelle nutzen. Oder die Felder eben alle einzeln per "null" leeren. Eine andere Möglichkeit fällt mir jetzt nicht ein.

    • Seba.1
    • vor 7 Monaten
    • Gemeldet - anzeigen

    Mir fällt auch nichts anderes ein, als für jedes Feld ein Ja/Nein Feld anzulegen. Dann kann man die alle durch ein Ja/Nein "BearbeitungsFeld" sichtbar/unsichtbar machen und mit einem Button (sichtbar bei Bearbeitung) die angehakten Felder löschen.  Ungefähr auf die Art:

    if FText then Text := null end;
    if FZahl then Zahl := null end;
    if FDatum then Datum := null end

    • yellow_scissors
    • vor 7 Monaten
    • Gemeldet - anzeigen

    ich habe es jetzt einfach so gemacht, wie in der ersten antwort beschrieben - jeden wert per button auf null bzw. 0 (danke überigens für den hinweis mit "0", da hätte ich mir sonst wieder eine weile den kopf zerbrochen)

     

    und schon kommt das nächste problem: nun wird mir ja das druck-symbol nicht mehr angezeigt. gibt es bei pages keine möglichkeit, das ninox-drucklayout zu ändern?

      • Ninox-Professional
      • planoxpro
      • vor 7 Monaten
      • Gemeldet - anzeigen

       Was willst du denn da drucken, wenn es nur ein paar temporäre Felder gibt? Drucklayouts werden immer in der Tabelle erstellt, die gedruckt werden soll.

      • yellow_scissors
      • vor 7 Monaten
      • Gemeldet - anzeigen

       

      • yellow_scissors
      • vor 7 Monaten
      • Gemeldet - anzeigen

      die page ist dafür da, einen report als pdf zu erzeugen. ich brauche die datensätze im anschluss nicht mehr zusätzlich in einer tabelle

      • yellow_scissors
      • vor 7 Monaten
      • Gemeldet - anzeigen

      mir geht es ja nur darum, mich mit dem feature "page" auseinanderzusetzen. einziger vorteil, den ich bislang in diesem fall sehe, ist, dass ich diese unnötige obere zeile nicht mehr habe. auf der anderen seite scheint die funktionalität ziemlich eingeschränkt, daher werde ich wahrscheinlich auch wieder zur tabelle zurückkehren

Content aside

  • vor 7 MonatenZuletzt aktiv
  • 9Antworten
  • 79Ansichten
  • 3 Folge bereits