Button mit Befehl zum Löschen funktioniert nicht.
Hallo zusammen,
ich habe ein Berechnungsfeld das mir anzeigt ("Duplikat!") ob es eine Link bereits gibt und mir bei den records mit höherer 'Nr' zudem angibt, das dieser Eintrag gelöscht werden kann ("Duplikat löschen!") Das funktioniert soweit mit den unten angegebenen select-Abfragen.
Beim anklicken des Berechnungsfeldes soll nun, wenn es das erste Duplikat ist ("Duplikat!") einfach nur ein Hinweis angezeigt werden. Wenn es ein Duplikat mit höherer 'Nr' ist ("Duplikat löschen!") dann soll ein Dialog zum Löschen aufgehen.
Es wird aber immer nur der untere Hinweis angezeigt. Im Code wird das erste IF sozusagen ignoriert, obwohl es die reine Textausgabe richtig macht.
folgender Code des Buttons bzw. "'beim Anklicken':
-----
let myURL := URL;
let myNr := Nr;
if cnt(select Favoriten where myURL = URL and Nr < myNr) > 0 then
let result := dialog("ACHTUNG", "Datensatz wirklich löschen?", ["Ja", "Nein"]);
if result = "Ja" then
alert("gelöscht!");
delete this
else
alert("nicht gelöscht!")
end
else
if cnt(select Favoriten where myURL = URL) > 1 then
alert("Bitte den zuletzt angelegten Datensatz löschen!")
end
end
-----
Folgender Code liefert hingegen das gewünschte Ergebnis:
-----
let myURL := URL;
let myNr := Nr;
if cnt(select Favoriten where myURL = URL and Nr < myNr) > 0 then
"Duplikat löschen!"
else
if cnt(select Favoriten where myURL = URL) > 1 then
"Duplikat!"
end
end
-----
Was mach ich falsch? Können dialog() und alert() etwa nicht "parallel" genutzt werden? Ich arbeite mit der Mac-App.
Vielen Dank im Voraus!
VG
Johannes
1 Antwort
-
Hab es mal mit weniger möglichen Fehlerquellen versucht...:
Folgender Code - mit alert() - funktioniert wie gewünscht. Je nach dem, welches Duplikat ich anklicke kommt IF2 oder IF1...
-----
let myURL := URL;
let myNr := Nr;
let myCNT1 := cnt(select Favoriten where myURL = URL and myNr > Nr);
let myCNT2 := cnt(select Favoriten where myURL = URL);
if myCNT1 > 0 then
alert("IF1: " + myCNT1 + " " + myCNT2)
else
if myCNT2 > 1 then
alert("IF2: " + myCNT1 + " " + myCNT2)
end
end
-----
Der selbe Code, jedoch mit dialog() funktioniert nicht, es wird immer IF2 angezeigt.
-----
let myURL := URL;
let myNr := Nr;
let myCNT1 := cnt(select Favoriten where myURL = URL and myNr > Nr);
let myCNT2 := cnt(select Favoriten where myURL = URL);
if myCNT1 > 0 then
dialog("IF1: " + myCNT1 + " " + myCNT2, "", ["Hallo", "Test"])
else
if myCNT2 > 1 then
dialog("IF2: " + myCNT1 + " " + myCNT2, "", ["Hallo", "Test"])
end
end
-----
Es scheint an dem dialog() zu liegen...
Hat jemand einen Rat?
Content aside
- vor 3 JahrenZuletzt aktiv
- 1Antworten
- 104Ansichten