[AccessD] Missing records

MartyConnelly martyconnelly at shaw.ca
Sat Feb 4 12:13:17 CST 2006


DIY (Do It Yourself ) especially with regard to car or home repair, they 
tend to congregate in hospital emergency rooms on saturday afternoons.

Tina Norris Fields wrote:

>Okay, what does DIY mean?
>T
>
>Charlotte Foust wrote:
>
>  
>
>>I have to agree with you, Gustav.  Cascading deletes are definitely not
>>for DIY users but properly implemented, they save a lot of code!
>>
>>Charlotte Foust
>>
>>
>>-----Original Message-----
>>From: accessd-bounces at databaseadvisors.com
>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock
>>Sent: Friday, February 03, 2006 8:01 AM
>>To: accessd at databaseadvisors.com
>>Subject: Re: [AccessD] Missing records
>>
>>
>>Hi John
>>
>>Oh no, why are you beating this horse again?
>>
>>Cascade delete is a very powerful and useful feature.
>>However - just like fire - implement it only when you know what you are
>>doing.
>>
>>Your example with invoices is bad. You never delete an invoice, and if
>>you do (it might be a draft only) you will wish to delete all its
>>invoice lines too. If you don't, you will have orphaned invoice lines,
>>or you will have to bother the user with deleting line by line until the
>>draft is empty and can be deleted.
>>
>>You may program your own routines to be fired at a click of the
>>supervisor's button, but doing so is somewhat similar to building
>>unbound forms in Access.
>>
>>As I wrote last time: You know all about this - normalization, relations
>>and so on - so why be so scared?
>>
>>/gustav
>>
>> 
>>
>>    
>>
>>>>>jwcolby at ColbyConsulting.com 03-02-2006 16:33:46 >>>
>>>>>       
>>>>>
>>>>>          
>>>>>
>>John,
>>
>>The first thing to do is examine the relationships for the tables
>>missing records.  If "cascade delete" is turned on (a NO-NO in my humble
>>opinion) then deleting a single record (such as a customer) will (after
>>a warning of
>>course) delete ALL child/grandchild/...greatgreatgreat records.  
>>
>>Let's say that a client has invoices and invoice line items.  Yep, all
>>gone. Repair service calls / line items?  Yep, all gone.  Payments?
>>Yep, all gone.
>>
>>Cascade delete of a single (for example) customer record WILL delete all
>>child records, however far down they go.  Potentially dozens or even
>>thousands of records, all gone because the user was "just deleting a
>>single customer record".
>>
>>I pretty much design my databases to never turn on Cascade delete, and
>>then build delete queries tied to buttons which only supervisors can
>>see/click.
>>
>>John W. Colby
>>www.ColbyConsulting.com 
>>
>> 
>>
>>    
>>
>
>  
>

-- 
Marty Connelly
Victoria, B.C.
Canada






More information about the AccessD mailing list