0

Fehler bei einem Code mit Listenimport

Hallo,

 

ich habe ein Problem bei einem Code, der sich mir nicht erklärt.

let NN := Nr;
let myKW := Kalenderwoche;
let myP := (select 'Geplante Pflegetermine'
        where number(Kalenderwoche) = myKW and 'Erledigt am_' = false and
        'Dauerpflege<->Wochenplanung' = null);
for i in myP do
    let MM := (create 'Dauerpflege<->Wochenplanung');
    MM.(Wochenplanung := NN);
    MM.('Geplante Pflegetermine' := i)
end;
'Dauerpflege hinzugefügt' := true

Der Code liegt auf einem Button und ruft  aus einer Liste alle Datensätze ab, die zu der jeweiligen Kalenderwoche passen, und fügt sie in unsere Wochenplanung ein.

Manchmal aber ignoriert er bestimmte Datensätze, obwohl sie eindeutig in dieser Kalenderwoche eingetragen sind.

Sobald ich die Datenbank einmal sichere und in meiner Testumgebung neu importiere, und ich dort den Button drücke, wird der oder die fehlenden Datensätze auch importiert. Was kann das sein?

Der Code funktioniert ja scheinbar, wo könnte der Fehler liegen?

 

Gruß

Mirko

1 Antwort

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

    Hallo Mirko, da für mich so spontan keine offensichtlichen(!) Fehler erkennbar sind, müsste man das Szenario nachstellen, um dem Problem auf die Spur zu kommen. Das wäre aber recht aufwändig, deshalb könnte es helfen, wenn du die Datenbank hier hochladen würdest, idealerweise gleich mit ein paar Demodaten.

    Was aber auffällt: 'Erledigt am_' = false. Das "false" lässt auf ein Ja/Nein-Feld schließen, das "am" im Feldnamen eher auf ein Datum. Welcher Feldtyp ist es denn tatsächlich?

    Und generell: Wenn man ein Feld darauf abfragen will, ob es überhaupt (irgend) einen bzw. eben keinen Inhalt hat, dann kann man dazu auch "not" benutzen. Also zum Beispiel:

    not 'Dauerpflege<->Wochenplanung'
    

    statt

    'Dauerpflege<->Wochenplanung' = null
    

    Und noch ein allgemeiner Tipp zur Kalenderwoche: In Ninox gibt es eine Funktion namens yearweek(), welche die betreffende Kalenderwoche aus einem Datum generiert und als String in der Form "2023/11" zurückgibt. Vorteil ist, dass die Jahreszahl enthalten ist, so dass man nicht immer zwei Werte für Jahr UND Kalenderwoche benötigt, um letztere eindeutig zu bestimmen.

    https://docs.ninox.com/en/script/function-overview/functions/yearweek

Content aside

  • vor 10 MonatenZuletzt aktiv
  • 1Antworten
  • 25Ansichten
  • 2 Folge bereits