Nach der ersten Änderung machst Du ein Commit.
Dann kommt die nächste Änderung und es folgt ein Commit.
Wo bitte wird die Transaktion erste Transaktion gestartet?
Wo bitte wird die Transaktion für die zweite Änderung gestartet?
Was passiert hier im Else-Fall?
if DataModulePlanung.IBTransactionPlanung.InTransaction then DataModulePlanung.IBTransactionPlanung.Commit;
Ziemlich genau nix. Automatisches Rollback durch die Komponenten, die Datenbank ...?
Wie wäre es denn mal mit:
Delphi-Quellcode:
if DataModulePlanung.IBTransactionPlanung.InTransaction
then DataModulePlanung.IBTransactionPlanung.Commit
else ShowMessage('Mist keine Transaktion offen.');
Wenn die Meldung kommt, dann war das nix mit dem Commit und dann ist es auch nicht verwunderlich, wenn Du nichts finden kannst.