Master Detail Support
The TAstaDataSet and the TAstaClientDataSet both suport master detail linking with MasterSource and MasterFields properties. When the AstaDataSet is used as a DetailDataSet it uses a filter to implement the limiting of visible rows. The AstaClientDataSet requires a parameterizd query to run live master detail queries from the server. So an order table that would be the detail table linking to a customer table would need some SQL Like
Select * from Orders where CustNo=:CustNo
As the MasterDataSet is scrolled a new query is fired from the detail dataset using the linked field to populate the Param. On inserts you are required to code the OnNewRecord event of the DataSet to set any detail values that are linked to the master.If the Param name, in the above case Custno, matches the linked field on the server, then the Detail CustNo field will be automatically populated by ASTA.
AstaClientDataSets can also run in masterdetail mode disconnected from the server by fetching the complete detail dataset and then using filters. There are AstaClientDataSet helper methods to facilitate moving back and forth between live detail selects using parameterized queries and the fetching of the complete detail table for all master fields using filters. See AstaClientDataSet.SetToDisconnectedMasterDetail and AstaClientDataSet.SetToConnectedMasterDetail and the BDE Master Detail tutorial for an example.
For support of AutoIncrement fields on Master DataSets that Detail DataSets link to there is a method called SendMasterDetailAutoIncTransaction.