Problem:
In einem ooBase-Form möchte ich das Event "Löschen" abfangen und mit weiteren Aktionen versehen. Dazu habe ich ein Makro geschrieben und in das Event des Formulars eingehängt (Ereignis "Löschen bestätigen"). Wenn ich in diesem Event nichts veranlasse, bleibt die übliche Abfrage aus, ob der Datensatz gelöscht werden darf.
Ich würde diese Abfrage gerne mit einem eigenen Text (MsgBox) durchführen und, wenn gelöscht wird, auch weitere Datensätze bzw. es geht auch um extern gelagerte Daten und Dateien, diese mit beeinflussen.
Lösung mit Listener?
Im Forum gibt es bereits einen Lösungsansatz mit einem Listener-Objekt. Wenn diese Lösung vielleicht etwas präzisiert oder das Thema Listener etwas verdeutlicht wird, kann ich mir den Rest erarbeiten.
Weitere Frage?
Wo finde ich die Informationen, welche Recordsets von der Aktion betroffen wären?
Dazu müsste es ja irgendeine Enumerations geben oder eine Where-Klausel einer SQL-Abfrage.
System:
MS-Win7
Open-Office 3.2.1
Formulare mit Open-Office-Basic-Makros
Danke schon mal ...
ooBase - Datensatz löschen - event canceln oder mehr
Moderator: Moderatoren
Re: ooBase - Datensatz löschen - event canceln oder mehr
Servus
Dieses Makro dem Ereignis zuweisen:
Dieses Makro dem Ereignis zuweisen:
Code: Alles auswählen
Function ConfirmDelete(oEvt) as Boolean
nRowCount = oEvt.Rows
If 6 <> MsgBox("Sie beabsichtigen " & nRowCount & " Zeilen zu löschen." & Chr(13) & "Fortfahren?", 36) Then
ConfirmDelete = False
Exit Function
Else
ConfirmDelete = True
End If
'Hier dann weitere Aktionen nach Belieben
End Function
Re: ooBase - Datensatz löschen - event canceln oder mehr
1000 Dank dPunch
funktioniert einwandfrei - über den Cursor kriege ich dann die Infos zu dem zu löschenden Datensatz und kann entsprechend die anderen Elemente dann ebenfalls löschen. Funktioniert allerdings nur für einen, markierten Datensatz.
Muss mich nochmal mit beschäftigen, wenn mehrere Datensätze in einer Tabelle selektiert wurden und dann "Löschen" aufgerufen wird. Wenn Du auch dafür einen Tipp hast, würde ich mich freuen, ansonsten suche ich noch ein wenig ...
Besten Dank noch mal.
funktioniert einwandfrei - über den Cursor kriege ich dann die Infos zu dem zu löschenden Datensatz und kann entsprechend die anderen Elemente dann ebenfalls löschen. Funktioniert allerdings nur für einen, markierten Datensatz.
Muss mich nochmal mit beschäftigen, wenn mehrere Datensätze in einer Tabelle selektiert wurden und dann "Löschen" aufgerufen wird. Wenn Du auch dafür einen Tipp hast, würde ich mich freuen, ansonsten suche ich noch ein wenig ...
Besten Dank noch mal.