用于从MS Access 2007中的不同记录打开表单的命令按钮

时间:2016-04-21 09:57:33

标签: ms-access ms-access-2007

我在Access 2007中有一个多记录表单,在行尾有一个命令按钮。

当前记录可能是第一个,但我想点击第4条记录上的按钮(实际上不需要进入记录)并打开一个包含与第4条记录相关的信息的表格。

目前它会显示与第一条记录相关的信息,因为光标位于第一条记录的字段中。

当我点击第4条记录上的按钮时,它似乎仍然在第一条记录上认为它。

我的代码是:

Dim stDocName As String 
DoCmd.OpenForm stDocName, , , "WorkAddressId = forms!Persons!WorkAddressId"

3 个答案:

答案 0 :(得分:0)

  

我想点击第4条记录上的按钮(实际上没有   必须进入记录)

但是当您点击该按钮时,您将进入第4条记录。

调整按钮的密码以打开表单ID的表单过滤。此ID将是您要单击的记录的ID - 如下所示,您将Id连接到条件字符串中:

Dim stDocName As String 
Dim Id As Long

' Name of the form to open.
stDocName = "NameOfYourFormToOpen"
' Pick the Id of the current record.
Id = Me!WorkAddressId

DoCmd.OpenForm stDocName, , , "WorkAddressId = " & Id & ""

答案 1 :(得分:0)

每个命令按钮都需要自定义代码。你现在拥有的代码没有获得该行控件的值,他们都在看同一个控件,我假设它有第一个记录的ID。

首先,确保每行上每个[WorkAddressId]控件的名称都有一个单独的名称,例如:[WorkAddressId1][WorkAddressId2] ...

然后转到每个命令按钮并使表单引用匹配它所在的行。例如,第1行上的按钮应为:

DoCmd.OpenForm stDocName, , , "WorkAddressId = " & [Forms]![Persons]![WorkAddressId1]

第一行的[WorkAddressId]控件名称实际上称为[WorkAddressId1]

将它放在第2行的按钮代码中:

DoCmd.OpenForm stDocName, , , "WorkAddressId = " & [Forms]![Persons]![WorkAddressId2]

等等。

答案 2 :(得分:0)

向所有人道歉。我已经开始在Access中尝试不同的东西,并在该表单上创建了一个标签(单击它以查看工作地址)以查看它在表单上的外观。当我放回控制按钮时它工作正常。非常适合尝试!!!

感谢所有试图以任何方式提供帮助的人。非常感激。

迈克