Vandaag een verrassende ontdekking gedaan in FileMaker 7/8.
Het gaat over de optie 'Delete related records in this table when a record is deleted in the other table' oftewel de 'cascade delete' optie.
Ten eerste kan je de die optie telkens opnieuw aanvinken tussen verschillende Table Occurrences (TO's) die gebaseerd zijn op dezelfde Base Table. Dat wekt de valse indruk dat je dat afzonderlijk per TO kan instellen. NOT! Van zodra je ergens in je relatiediagram aanvinkt, geldt die voor ALLE TO's. Met andere woorden: je related records zijn sowieso foetsie.
Bon, daar konden we mee leven en de FM help waarschuwt daar in zekere zin ook voor met de onheilspellende woorden: 'This option deletes related records even when you're browsing a layout that doesn't display the related records.'
Nu ontdekte ik vandaag tot mijn grote verbazing dat de related records OOK verdwijnen als je in een ANDER bestand via een file reference de optie 'delete' aanvinkt en in het ORIGINELE bestand een parent record verwijderd. Dus je kan perfect een file hebben waar er geen delete gebeurd. Dan een andere file openen met een reference waar de delete wél aanstaat. Vanaf dan gedraagt je originele file zich niet meer als vroeger maar begint-ie related records te deleten. (Voorbeeldje in bijlage: zolang test2 niet openstaat gedraagt test1 zich normaal. Open test2, ga terug naar test 1 en verwijder een record....)
Quite shocking, no? Als dit nog expected behaviour is, dan vind ik het wel het randje. Hoe ga je in godsnaam zoiets managen/documenteren in een groter project? Even de knuppel in het hoenderhok smijten: plots lijkt Access een heel eenvoudig programma...
Question
Joris Aarts
Hello,
Vandaag een verrassende ontdekking gedaan in FileMaker 7/8.
Het gaat over de optie 'Delete related records in this table when a record is deleted in the other table' oftewel de 'cascade delete' optie.
Ten eerste kan je de die optie telkens opnieuw aanvinken tussen verschillende Table Occurrences (TO's) die gebaseerd zijn op dezelfde Base Table. Dat wekt de valse indruk dat je dat afzonderlijk per TO kan instellen. NOT! Van zodra je ergens in je relatiediagram aanvinkt, geldt die voor ALLE TO's. Met andere woorden: je related records zijn sowieso foetsie.
Bon, daar konden we mee leven en de FM help waarschuwt daar in zekere zin ook voor met de onheilspellende woorden: 'This option deletes related records even when you're browsing a layout that doesn't display the related records.'
Nu ontdekte ik vandaag tot mijn grote verbazing dat de related records OOK verdwijnen als je in een ANDER bestand via een file reference de optie 'delete' aanvinkt en in het ORIGINELE bestand een parent record verwijderd. Dus je kan perfect een file hebben waar er geen delete gebeurd. Dan een andere file openen met een reference waar de delete wél aanstaat. Vanaf dan gedraagt je originele file zich niet meer als vroeger maar begint-ie related records te deleten. (Voorbeeldje in bijlage: zolang test2 niet openstaat gedraagt test1 zich normaal. Open test2, ga terug naar test 1 en verwijder een record....)
Quite shocking, no? Als dit nog expected behaviour is, dan vind ik het wel het randje. Hoe ga je in godsnaam zoiets managen/documenteren in een groter project? Even de knuppel in het hoenderhok smijten: plots lijkt Access een heel eenvoudig programma...
Veel groeten,
Joris
CascadeDelete.zip
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.