<div dir="ltr"><div><div><div>Hi Wallace<br><br></div>I have used Devart components to connect to a MySQLdatabase (local machine and server based) for several projects.<br></div>They have been very robust, fast and well supported.<br><br></div><div>Having a look at the code fragments and your methodology I have a couple of suggestions.<br></div><div><div><div><div><br><i>If MessageDlg(&#39;Add member ?&#39;,mtConfirmation, [mbYes, mbNo], 0)= mrYes then<br>
begin<br>
   dm.tblMaster.Append;<br>
   fMembers.ShowModal;</i></div><div><i><br>
In the child form, which is called from a few other options, I have a record<br>
refresh to ensure I have the latest data in a multiuser environment,<br>
<br>
procedure TfMembers.FormShow(Sender: TObject);<br>
begin<br>
   dm.tblMaster.RefreshRecord;<br>
   dm.tblClubMemMast.</i><i>RefreshRecord;<br>
   dm.tblMaster.Edit;<br>
</i><br><i>However, my newly appended record is now gone and I&#39;m positioned on another<br>
valid record.<br></i><br></div><div>In this scenario the .RefreshRecord statement occurs in the FormShow which is after the .Append with the result that the current record has probably changed. Your new record probably disappears as there has been no .Post statement issued.<br></div><div>An .Edit statement is not required after an .Append as the .Append statement leaves the new record in Edit mode.<br></div><div>So move your .Append to the location of the .Edit and delete the .Edit.<br><br></div><div>I have not used Master/Child relationships for data table editing - I keep that for reports and data extraction queries.<br></div><div>For adding and editing data that approach seemed to add additional processing overhead.<br></div><div>I prefer to have one query to get the master record then another to get the child records based on their mater record / key.<br></div><div>Maybe that is not the pure approach but it has worked well for me.<br><br></div><div>Hope this helps.<br><br></div><div>Graham Marsden<br></div><div><br></div><div><br></div><div><br>
</div></div></div></div></div>