0

Daten aus vorherigem Datensatz übernehmen.

Hallo. Ich habe folgendes Anliegen: Ich habe mir einen Datenbank erstellt bei der ich verschiedenen numerische Datenfelder mit Daten des letzten Datensatzes beim Anlegen und Ändern  "befülle". Das mach ich mit

"Datenfeld := last((select tabelle).Datenfeld_alt).

Nun hat die Datenbank schon 600 Datensätze und ich möchte einige Änderungen vornehmen. Dabei sollen auch ältere Datensätzen Daten aus dem davor erstellten Datensatz übernehmen. 

Ich hab hier ein wenig gesucht, und mir dann folgendes zusammengedacht / gebastelt.

let mynumber := number(this.Nr);

Datenfeld := max(select Tabelle where number(Nr); < mynumber).Datenfeld

Das tut es aber leider nicht, wo könnte der Fehler liegen?

7 Antworten

null
    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Andreas,

    versuch es so:
    ---

    let my:=this;

    let myLastID:=last(select Tabelle where number(Nr)<number(this.Nr)).Nr;

    Datenfeld:=first(select Tabelle where Nr=myLastID).Datenfeld

    ---

    Leo

    • Andreas.3
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Leonid, vielen Dank für die schnelle Antwort. Leider tut es das auch nicht, schon myLastID wird nicht befüllt, zumindest wird die Variable (?) die ich als Zwischenschritt nochmal in ein numerisches Feld ausgebe nicht geschrieben. Wenn ich statt myLastId einen festen Wert nehme tu es das.  D.h. es wird einfach keine Nr. "gefunden" 

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Oh, mein Fehler. 

    ---

    let my:=this;

    let myLastID:=last(select Tabelle where number(Nr)<number(my.Nr)).Nr;

    Datenfeld:=first(select Tabelle where Nr=myLastID).Datenfeld

    ---

    Leo

    • Andreas.3
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Das klappt! Vielen vielen Dank für die Mühe. 

    • Ferienanlage am Grenzbach
    • RHartung
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Leonid,

    ich bin gerade auf den Thread gekommen mit einem ähnlichen Problem. Ich versuche auch wie hier aus dem vorherigen (verknüpftem) Datensatz aus der Untertabelle ein Funktionsfeld mit dem Bild befüllen. Nur leider komme ich mit dem obigen Code nicht weiter. Um konkret zu werden, ich habe eine Tabelle Wohnungen mit einer Untertabelle Zählerstände. Dort gibt es immer Anfang- und Endbestand, einmal als Wert und einmal als Bilddatei. Den Zählerstand konnte ich auslesen, das funktioniert mit folgendem Skript:

     

    let my := this;
    let myLastZS := first(WMZ.'Zählerstand Ende');
    let new := (create WMZ);
    new.('1 Wohnungen' := my);
    new.('Zählerstand Anfang' := my.myLastZS);
    popupRecord(new)

    Der Endbestand ist immer ein Foto, dieses soll per Funktionsfeld (Fotos kann man ja in Ninox nicht kopieren, sonst wäre es ja zu einfach) als Anfangsbestand im neuen Datensatz angezeigt werden.

    Hat jemand eine Idee?

    • Ferienanlage am Grenzbach
    • RHartung
    • vor 3 Jahren
    • Gemeldet - anzeigen

    hat niemand eine Idee?

    • Ferienanlage am Grenzbach
    • RHartung
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Habs gelöst!

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 7Antworten
  • 1965Ansichten