ADOQuery->Delete() bei JOIN



  • Hi,

    ich verwende ein ADOQuery, um über Datensensitive Eingabefelder Datensätze zu Bearbeiten. Das Query ist dabei im Batch-Modus geöffnet.
    So sieht meine Abfrage aus:

    SELECT Tab1.* FROM Tab1
    LEFT JOIN Tab2 ON Tab2.ID = Tab1.t2id
    LEFT JOIN Tab3 ON Tab3.ID = Tab1.t3id
    WHERE Tab2.Value = 'abc' AND Tab3.Value = 'def'
    

    Mache ich jetzt

    ADOQuery->Delete();
    ADOQuery->BatchUpdate();
    

    Erhalte ich einen Zugriffsfehler, wegen dem FK Tab1.t3id <-> Tab3.ID beim Feld Tab1.t3id.
    Warum bekomme ich den? An der PK-Tabelle Tab3 ändere ich ja nichts. Für Tab2 bekomme ich auch keinen Fehler...


Anmelden zum Antworten