From: DawnTreader on 5 May 2010 14:49 Hello John i have found a way around it, i cause a new record when the user sets the focus to the subform. but this is a hack and slash fix. what i want is for the subform to be the first place the user enters data. i need a solution that doesnt involve a lot of work arounds. is there a way to capture the new record for the main form and insert it back to the subform? -- As always, any and all help appreciated! :) "John W. Vinson" wrote: > On Fri, 16 Apr 2010 08:39:01 -0700, DawnTreader > <DawnTreader(a)discussions.microsoft.com> wrote: > > >Hello all > > > >i have an application where there are forms which have subforms where it is > >entirely possible for the user to start entering data in the subform before > >the main form. this is proving to be a real pain. > > I can imagine. Since the only link from the subform's table to the mainform's > table is the foreign key field, and it's not being filled with the > Master/Child Link Field, you would indeed lose data. > > >as soon as a user enters something in the subform and then moves from it to > >the main form and types (cause the on dirty state), the entered data in the > >subform is saved and disappears. basically because the link between the > >mainform and the subform is an autonumber field on the main form, which > >doesnt have a value until the user types in the main form, the main form > >doesnt get a record and the subform has nothing to put in the field that > >links it to the mainform. > > > >this causes orphan records in the subforms table. this is not a good > >situation because the user has to retype the record that they had in the > >subform after wondering where the record went. > > It's worse than you think! You now have BOTH records in the child table, one > with a foreign key link to the mainform, one with a null foreign key. > > >how do i stop this from happening? i have tried placing code on the form to > >put a value in the mainform on enter of the subform, this doesnt help and > >makes using the combo boxes in the subform to chose something an exercise in > >frustration. > > I'd suggest having the subform's Enabled property set to No in form design; > set it to Yes in the mainform's On Dirty event, and also put code in the > mainform's current event to enable the subform if there is a mainform record: > > Private Sub Form_Current() > Me!subformname.Enabled = Not Me.NewRecord > End Sub > > -- > > John W. Vinson [MVP] > . >
|
Pages: 1 Prev: Datasheet view change Next: 2007 Forms - Quick Filters not working |