"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
-
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
-
Hi Leo,
Tausend Dank für die schnelle Hilfe.
dann werd ich’s mal über diesen Umweg versuchen.
Liebe Grüße
-
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.
-
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
-
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.
-
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
-
Oh, cool. Vielen Dank. Das Element "Ansicht" kannte ich noch nicht. Genau das, was ich gesucht habe. Ich bin begeistert.
Content aside
- vor 4 JahrenZuletzt aktiv
- 7Antworten
- 2560Ansichten