vba - 如何在 Access 中打开特定记录处的表单

标签 vba ms-access ms-access-2010 openform

我有一个包含个人记录的表格,其中有一个按钮可以查看/编辑个人许可。当我完成许可编辑并按“后退”按钮时,我希望在我刚刚处理的记录中打开原始表单(基本个人信息),而不是返回到记录 1。

我目前的代码是

DoCmd.Close
DoCmd.OpenForm ("Basic Personal Information")

我尝试将 OpenForm 更改为

DoCmd.OpenForm ("Basic Personal Information"), , , "S_ID=LinkRef"

其中 S_ID 是具有人员唯一 ID 的字段名称,LinkRef 是该 ID 的整数。我尝试了一些小的变化,最终让它发挥作用,但它打开了基本个人信息,只有一条记录可用,所以我无法查看表单上的任何其他人(即在左下角的记录中)导航它是 1 中的 1,而它应该是 32 中的 5)。

我尝试的另一件事是添加该行

DoCmd.GoToRecord(acDataForm,"Basic Personal Information",acGoTo,"[S_ID] = " & LinkRef)

但显然,这里的问题是 AcGoTo 的 Offset 应该只是一个记录编号,因此在本例中应该是 5。但我不知道如何告诉程序计算出记录的编号来自 LinkRef。

我希望这是有道理的,如果没有的话请随时问我问题,我会尽力解释得更好,否则任何建议/方法将不胜感激。

谢谢

最佳答案

我会这样解决你的问题:

DoCmd.OpenForm ("Basic Personal Information")
Forms("Basic Personal Information").Form.Recordset.FindFirst "[S_ID] = " & _
            Forms("PreviousForm").[LinkRef] & ""

意思是,我首先打开表单,然后将记录集的光标移动到所需的行。

关于vba - 如何在 Access 中打开特定记录处的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24577773/

相关文章:

excel - 一次将 100 个文本文件导入 Excel

ms-access - 从 SQL Where 条件创建查询

sql - 将文本转换为日期

vba - 保存并转到新记录后如何重置表单的格式

vba - 如何在 VBA 的函数子例程中添加错误消息

excel - VBA在一列上从A到Z排序

vba - 按标题(或标签)获取 ContentControl

c# - 跨多个数据库的交叉引用

excel - 将数据从 Access 导出到 Excel(超过 65000 条记录)

mysql - 从 SQL 导出的 View 更新 MS Access 中的表