Gelöschte Sätze einer dbase-Tabelle in einem DBGrid anzeigen? Geht das?



  • Das muß doch irgendwie gehen. Weiß jemand, wie?



  • Wie soll das deiner Meinung nach gehen? Wenn Datensätze gelöscht werden sind sie danach weg, wie willst du die dann noch anzeigen?



  • Das würde nur gehen, wenn die entsprechenden Datensätze nicht wirklich gelöscht sind in der Datenbank, sondern z.B. anhand einer Spalte "DELETED" nur als gelöscht gekennzeichnet wurden.



  • so ist es ja auch bei dbase-dateien (wird in englisch "soft-delete" genannt). im dbase-programm werden die mit löschmarke angezeigt. wenn man die löschmarke entfernt, sind die sätze wieder normal. will man die markierten sätze wirklich physikalisch löschen, muß man die datei "packen", wie man es nennt. in dbase gibt es dafür den befehl 'pack'.



  • Bei den Jedi-Komponenten (JvBDEUtils.pas) gibt es DataSetShowDeleted



  • Ist das das Standardverhalten? Ich dachte, man muss dieses Softdelete in der BDE erst aktivieren?

    Wie auch immer, wenn die Datensätze noch da sind:
    Irgendwie kann man über eine IDAPI-Funktion namens DbiGetRecord das Attribut bDeleteFlag des aktuellen Datensatzes auslesen.

    Gott, ist das lange her... Ich würde dir gerne konkreter helfen, aber das verliert sich irgendwie im Schleier des Vergessens.



  • minus schrieb:

    so ist es ja auch bei dbase-dateien (wird in englisch "soft-delete" genannt). im dbase-programm werden die mit löschmarke angezeigt. wenn man die löschmarke entfernt, sind die sätze wieder normal. will man die markierten sätze wirklich physikalisch löschen, muß man die datei "packen", wie man es nennt. in dbase gibt es dafür den befehl 'pack'.

    Ahja, jetzt fällts mir wieder ein, bei Access ist das genauso. 😉



  • Hi,

    zu dBase-Zeiten gabs da die Eselsbrücke "mit delete da get er und mit pack sind se weg"

    Gruß Mümmel


Anmelden zum Antworten