我想使用VBA在表单上填充文本框。我希望它首先打开表单,然后转到新记录,然后在该新记录上填充文本框。
Private Sub btn_AddAccount()
DoCmd.OpenForm "tbl_MonitorAccounts", , , , acFormAdd, acDialog, NewData
DoCmd.GoToRecord , , acNewRec
Me.MonitorAccount = "FUNC00265"
End Sub
请帮助我,因为不幸的是上面的代码不起作用。
编辑:我认为必须对字段绑定做些什么。是否可以使用VBA填充绑定记录?
答案 0 :(得分:0)
是的,可以填充绑定控件。我希望它不起作用,因为表单在对话框模式下打开,这将暂停在调用过程中的代码执行,该过程在Dialog表单关闭时恢复。
如果满足条件,请在Dialog表单后面填写代码填充文本框。代码在添加模式下打开表单,因此不需要更多代码移动到新记录,应该已经在新记录行上。例如:
Private Sub Form_Open(Cancel As Integer)
If Me.NewRecord Then
Me.MonitorAccount = "FUNC00265"
End If
End Sub
或者可以使用OpenArgs将值传递给Dialog表单,并根据OpenArgs中的内容执行某些操作。例如:If Me.OpenArgs Like "Edit*" Then
答案 1 :(得分:0)
将acFormAdd更改为acFormEdit是一个简单的解决方案。
Private Sub btn_AddAccount()
DoCmd.OpenForm "tbl_MonitorAccounts", , , , acFormEdit, acDialog, NewData
DoCmd.GoToRecord , , acNewRec
Me.MonitorAccount = "FUNC00265"
End Sub