PDA

Vollständige Version anzeigen : Warnen wenn beim Löschen Detail-DS vorhanden


JWK
20.01.2003, 08:26
Hallo,
Beim Löschen von Datensätzen (DS) der Basistabelle per Button sollen auch die verknüpften Detail-DS mit gelöscht werden können (Löschweitergabe ist aktiviert). Vor dem Löschen erfolgt eine Sicherheitsabfrage.

Sind zum (zu löschenden) Basis-DS auch Detail-DS vorhanden, soll eine 2. Sicherheitsabfrage warnen.

Nun könnte man
a) vor dem Löschen alle 10 verknüpfte Tabellen einzeln abfragen, ob zum (zu löschenden) Basis-DS jeweils Detail-DS existieren oder
b) Die Löschweitergabe ist deaktivieren und die Löschung der Detail-DS für jede betroffene Tabelle anschließend per Löschabfrage realisieren

Aber vielleicht gibts hierzu eine einfachere Lösung ?

Gruß JWK

Mattes
20.01.2003, 08:52
Hi JWK,

im Prinzip hat Du die Antwort schon gefunden: Löschweitergabe aktivieren oder deaktivieren. Allerdings ist mir der Sinn nicht ganz klar.

Wir teilen die Daten ja in mehrere Tabellen auf um Redundanzen zu vermeiden. Löschst Du nun in der Haupttabelle einen DS gibt es zwei Möglichkeiten: Entweder brauchst Du den Detail DS noch für Auswertungen oder der Detail DS kann auch weg. In beiden Fällen ist eine Sicherheitsabfrage doch nicht nötig. Wenn Du unbedingt eine haben möchtest reicht es aberr doch aus den Benutzer einmal darauf hinzuweisen daß jetzt wirklich ganz bestimmt und unwiderruflich Daten gelöscht werden. Ob und wo in welcher Tabelle noch zugehörige DS sind und ob die dann eventuell auch zu löschen sind kann der Benutzer doch nicht entscheiden!

Ich denke Dein Problem erledigt sich wenn Du nochmal uber Dein Tabellendesign und die Beziehungen nachdenkst, oder?

HTH Mattes :bye:

JWK
20.01.2003, 14:51
Hallo Mattes,
erst mal vielen Dank für die schnelle Antwort.

Hast ja völlig recht. Wenn der User unbedingt löschen will (so sein Wunsch), dann muß er die Konsequenzen auch tragen.

Gruß JWK

khs-hh
20.01.2003, 14:56
Hast ja völlig recht. Wenn der User unbedingt löschen will (so sein Wunsch), dann muß er die Konsequenzen auch tragen.

Soweit so gut aber

Besser ist explizit daraufhinzuweisen, dass wenn vorhanden auch die zugehörigen Detailsätze gelöscht werden. Ich habe die Erfahrung gemacht, dass die Benutzer erst bei diesem Hinweis anfangen nachzudenken. Den Stammsatz meinen sie löschen zu können, da zukünftig nicht mehr benötigt. Wenn dies sich aber auf die echten Geschäftsvorfälle der Vergangenheit auswirkt sieht es anders aus.

Mattes
20.01.2003, 15:04
@khs-kk:

Da geb ich Dir recht. Eine aussagekräftige Meldung sollte schon kommen.

... den Benutzer einmal darauf hinzuweisen daß jetzt wirklich ganz bestimmt und unwiderruflich Daten gelöscht werden.


Nehmen wir mal an wir haben eine Kunden DB mit den dazugehörigen Rechnungen. Dann Könnte die Meldung in etwa wie folgt lauten:

"Sie haben sich entschlossen den Kunden NAME zu löschen. Wenn Sie auf JA klicken werden nicht nur die Stammdaten des Kunden gelöscht sondern auch alle für diesen Kunden erstellten Rechnungen! Sind Sie sicher das Sie diese Daten löschen wollen?!"

Nu und wenn er jetzt auf JA klickt.....

JWK
20.01.2003, 15:20
Nochmals Danke an Mattes,

mein vorheriger Text "muß der User die Konsequenzen auch tragen") war eher humorvoll gemeint.

Der von Dir erwähnte dringende Warnhinweis ist ohnehin vorgesehen (einschließlich einer mehrstufiger Sicherheitsabfrage "...wirklich löschen...")

Im Übrigen entsteht in der vorliegenden Anwendung durchs Löschen kein kaufmännisches oder rechtliches Problem.

Gruß JWK