Re: [de-users] Breakanweisung bei D ialogboxen / Datensatzlöschung

2007-11-03 Thread Frank Schönheit - Sun Microsystems Germa ny
Hallo Robert,

> bevor ich mich in irgendwelche Tiefen weiter verstricke: Ich habe ein 
> Formular 
> für eine Datenbank. Da in dem Formular Querverknüpfungen zu anderen Tabellen 
> sind kann es beim Betätigen des Löschbuttons zu Fehlermeldungen kommen, die 
> via SQL und Base auf den Bildschirm gelangen. Dachte ich mir: dem hilfst Du 
> ab. Und flugs den ersten Dialog gebaut, 2 Buttons, einer mit Ja, so dass die 
> Querverknüpfungen gegebenenfalls vorher gelöscht werden können, so dass die 
> Integrität der Datenbank gewährleistet bleibt. Und jetzt das Problem:
> 
> Der Nein-Button soll natürlich den ganzen Prozess stoppen. Er geht zwar 
> hübsch 
> an der Löschung der Querverbindungen vorbei, aber wie kann ich den weiteren 
> Prozess unterbinden, der dann abläuft?

Versuch's mal mit "Löschen bestätigen" in dem Formular-Eigenschaften
(bin mir gerade nicht sicher, ob das die deutsche Version von "Confirm
deletion" ist). Da hängst Du ein Makro dran, welches Deinen Dialog
hochholt, und immer FALSE zurückgibt. Wenn in Deinem Dialog "Ja" gewählt
wurde, solltest Du natürlich noch das eigentliche Löschen durchführen.


Eleganter sollte es aber eigentlich gehen, wenn Du in den Eigenschaften
der entsprechenden Beziehung (einfach einen Doppelklick darauf im
Beziehungs-Entwurf ("Relation Design")) "Cascading Delete" einstellst.
(sorry für das Englisch, hab' gerade keine deutsche Version zur Hand)

Dann kümmert sich die Datenbank nämlich darum, dass abhängige Datensätze
in anderen Tabellen auch gelöscht werden - vorrausgesetzt, sie
unterstützt diese Option.

Ciao
Frank

-- 
- Frank Schönheit, Software Engineer [EMAIL PROTECTED] -
- Sun Microsystems  http://www.sun.com/staroffice -
- OpenOffice.org Base   http://dba.openoffice.org -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [de-users] Breakanweisung bei D ialogboxen / Datensatzlöschung

2007-11-03 Thread Frank Schönheit - Sun Microsystems Germa ny
Hallo Robert,

>> Versuch's mal mit "Löschen bestätigen" in dem Formular-Eigenschaften
>> (bin mir gerade nicht sicher, ob das die deutsche Version von "Confirm
>> deletion" ist). Da hängst Du ein Makro dran, welches Deinen Dialog
>> hochholt, und immer FALSE zurückgibt. 
> An der Stelle war ich, nur was heißt "False" zurückgeben - an welchen Ablauf?

Du mußt eine Funktion der Art
  Function bestaetigeLoeschen( ereignis as Object ) As Boolean
' Nutzer fragen
' wenn "ja", dann selber löschen
return FALSE
  End

an das entsprechende Ereignis binden. Die wird aufgerufen, wenn der
Benutzer den Löschen-Knopf drückt. Wenn sie dann FALSE (als: "Löschen
wurde nicht bestätigt") zurückgibt, wird der Vorgang abgebrochen - was
ja nix macht, da Du schon gelöscht hast.

Ciao
Frank

-- 
- Frank Schönheit, Software Engineer [EMAIL PROTECTED] -
- Sun Microsystems  http://www.sun.com/staroffice -
- OpenOffice.org Base   http://dba.openoffice.org -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]