Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Making "DoCmd.GoToRecord" function work on a subform

Tags:

vba

ms-access

I have been using the function DoCmd.GoToRecord , , acNewRec successfully for creating and moving to a new record within a subform (with a table as the source). However, when I try to do the same from the parent form, this does not work. I have tried different approaches, including:

Me.sbfrm_subform.Controls("ctrName").SetFocus
DoCmd.GoToRecord , , acNewRec

which only sets the focus on the control (ctrName), but fails to add and go to a new record, or

DoCmd.GoToRecord acDataForm, Me.sbfrm_subform.Form.Name, acLast

Which returns the runtime error 2489, "The object 'sbfrm_subform is nt open."

like image 282
Kambiz Avatar asked Jun 27 '13 15:06

Kambiz


1 Answers

Try splitting the operations:

Me.[sbfrm_subform].SetFocus
DoCmd.GoToRecord, , acNewRec

Alternatively, you can try creating a public Sub in the subform, and since it becomes a method of the form you can use that.
Using this on recent versions of Access, you can even try playing directly with the form's recordset instead, like Me.Recordset.Movenext.

like image 69
iDevlop Avatar answered Sep 27 '22 18:09

iDevlop