访问VBA browseto传递参数

时间:2012-12-17 18:54:30

标签: ms-access navigation access-vba

我有一个标签式导航。我有一个绑定表单,用户双击一个长列表中的单个用户。我想转到未绑定的表单,并预先加载表单,其中包含有关该用户的详细信息(编辑用户)。我特意使用未绑定的表单,因为我想显示一个保存/取消按钮。我找不到任何方法将用户的id传递给load_form调用。我错过了什么吗?我必须使用某种全球性(这对我来说似乎不好)?

1 个答案:

答案 0 :(得分:2)

打开表单时可以使用OpenArgs: -

DoCmd.OpenForm "MyForm", acNormal,,,,,Args

无论Args是什么都可以在“MyForm”中引用为Me.OpenArgs

e.g。如果您传递数字PK,那么您可以使用类似:

dim db as dao.database
set db = currentdb
dim rs as dao.recordset
set rs = db.openrecordset ("select * from MyTable where PK=" & me.openargs", dbopendynaset, dbfailonerror)
if rs.eof then
'didn't find record with PK...
else
'then populate the unbound controls on your form with the fields from the recordset
...

请注意,您无需提供未绑定表单即可提供保存/取消。如果您为表单的Before Update事件编写事件处理程序,则可以取消更改或提交它们。