0

"Duplikat-Funktion" funktioniert in App aber nicht im Web - Warum?

Hallo Ihr Lieben,

ich habe für eine Crew/Mitarbeiter Datenbank eine Funktion geschrieben die bei Eingabe des Vor- und Nachnamen überprüft ob es eine Person mit diesem Namen bereits in der Datenbank gibt.

Leider funktioniert diese nur in der Mac App aber nicht in der Browser Version von Ninox (es passiert einfach gar nichts). Hat jemand eine Idee woran es liegen könnte?

let myName := Name + " " + Surname;
if Surname and  Name then
let x := cnt(select Crew where Name + " " + Surname = myName);
let d := first(select Crew where Name + " " + Surname = myName);
if x > 1 then
alert("A possible duplicate was identified. " + myName + " seems to already exist in this database.");
popupRecord(d)
end
end

Das Script befindet sich bei "Ausführen nach Änderung".

Vielen Dank für die Hilfe!

7 Antworten

null
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Das Problem liegt daran, dass in der Web Version Alerts und popupRecord (auch openRecord) nur als Formel bei der Befehlsschaltfläche funktionieren. Einzige Möglichkeit sowas in der Web hinzubekommen - Die Meldung direkt in das Feld Surname oder Name zu schreiben oder einen Button zu Installieren und die formel dort schreiben.

    Leo

    • MarcAndre_Gerke
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hi Leo,

     

    Tausend Dank für die schnelle Hilfe.

    dann werd ich’s mal über diesen Umweg versuchen.

     

    Liebe Grüße

    • MarcAndre_Gerke
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Ich hab das ganze jetzt mal probiert allerdings schreibt er aus irgendeinem Grund auch nichts direkt in das Feld... konnte das ganze natürlich mit einem Button umgehen aber frage mich dennoch woran es liegen könnte...

     

    let myName := Name + " " + Surname;
    if Surname and Name then
    let x := cnt(select Crew where Name + " " + Surname = myName);

    if x > 1 then

    Name := myName;Suname := "DUPLICATE IDENTIFIED"

     

    Das anzeigen des Duplikates hätte ich dann über einen Button gelöst der nur angezeigt wird für den Fall dass DUPLICATE IDENTIFIED bei Surname steht.

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    if Surname and Name then
    let myName := Name + " " + Surname;
    if cnt((select Crew)[Name + " " + Surname = myName]) then
    Name := null;
    Surname := myName + "DUPLICATE IDENTIFIED"
    end
    end

    ---

    Probier mal mit Eckklammern, manchmal hilft's. 

     

    Leo

    • Tekl
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ich suche nach einer ähnlichen Funktion, die mir quasi alle Duplikate zeilenweise auflistet, so als wären sie verknüpft. Dann könnte ich sie anklicken und zum Datensatz springen. Mir geht es aber nicht um Duplikate, sondern um verwandte Datensätze. Habe schon entdeckt, dass das Handbuch veraltet ist und mit Join konnte ich einen Zeilenumbruch unterbringen. Doch wie bekomme ich die Zeilen jetzt anklickbar hin? Wenn ich das richtig verstehe, kann ich ja nicht wie in anderen Datenbanken Tabellen über bestimmte Feldwerte miteinander verknüpfen, oder? Das wäre ja der Königsweg.

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Tekl,

    Ich wieß leider nicht, welche Kriterien für "Verwand" sein sollten. Bleiben wir be Duplikaten. Z.B. Eine Tabelle Kontakte und ich suche nach gleichen Nachnamen. Ich würde noch eine Tabelle "Duplikate" erstellen und dort ein Textfeld "Nachname" und eine Verknüpfung zu "Kontakte".  Jetzt ein Skript für einen Button:

    ----

    do as server
    delete select Duplikate;
    for i in unique(select Kontakte.Nachname) do
    if cnt(select Kontakte where Nachname=i)>1 then
    for j in select Kontakte where Nachname=i do
    let new:=create Duplikate;
    new.Nachname:=i;
    new.Kontakte:=j;
    end
    end
    end
    end

    ---

    Wenn du jetzt eine Layoutelement Ansicht erstellst mit der Formel:

    ---

    select Kontakte where cnt(Duplikate)>0

    ---

    und diese Tabelle dann nach Nachnamen gruppierst, kriegst  du eine Duplikatentabelle mit grauen Zeilen. Beim Klicken auf die Zeile werden die Duplikate aufgeklappt und du kannst in den Datensatz rein gehen.

    Leo

    • Tekl
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Oh, cool. Vielen Dank. Das Element "Ansicht" kannte ich noch nicht. Genau das, was ich gesucht habe. Ich bin begeistert.