TTempDetailTable component for Borland Delphi It would be nice if you could modify several detail records in a DBGrid in a one-to-many situation and then say, whoops, let me change all that back. Well, here's the component for you. $ 20, trial run (can only run while Delphi is running), from OnTYme Software. TTempDetailTable is a descendant from TDataSet that is *specifically* designed for dealing with one-to-many TTable setups in Delphi when using local Paradox or dBase tables. This is how it works: There is only one pertinent property in the component and that is the SourceTable (type TTable) property that points to another TTable on the same form. You must fill in this property or you will get an exception when you try to make the TTempDetailTable component active (open it). Also, the TTable that SourceTable points to must have its MasterSource and MasterFields properties established or you will again get an exception when you try to make the TTempDetailComponent active. The TTempDetailTable component relies heavily upon these two properties in the source table to do its work. After setting the SourceTable property and making sure that the MasterSource and MasterFields properties are set in the source table, you're all done ! That's it ! Basically the TTempDetailTable component acts as a shadow dataset to its source table, updating itself when the source's master table changes and posting itself to the source when the source's master table is posted. As some extras, though, the TTempDetailTable component also: Resyncs it's key fields with the master key fields whenever any of the master key fields change. Automatically puts the master TTable into edit mode whenever the TTempDetailTable is changed, either an insert, edit, or delete occurs. This makes sure that you always get a lock on the master record before being able to modify any of the detail records. Contains all of the events and properties for exception handling found in my other freeware component TErrorTable. Up to now everything seems great, now here's the bad news: ****************************************************************************** You need the VCL source to use this component at all. (Yuk !) It uses BDE temporary tables for the buffering but the VCL has a little glitch in it where it will not let you edit a temporary table. OnTYme Software 524 Clayton St. Orlando, FL 32804