访问VBA - 获取当前记录的值

时间:2016-07-12 01:17:19

标签: vba ms-access access-vba

我是Access 2016的新用户 - 我有一个填充查询的表单,我想从其中一个文本框中创建一个超链接。该链接应包含用户点击的特定记录的工作日 taskID 字段的组合值。

我的问题是我无法弄清楚如何获得当前记录的价值。这些列的控制源是值本身,通过填充表单记录源的查询检索。以下代码创建了我想要的链接,但每次都返回相同的工作日 taskID 值,无论我点击什么,我都无法想象如何使它尊重当前的记录。任何帮助将不胜感激!

Private Sub workday_Click()

Dim link As String
Dim workday as String
Dim taskID as string

workday = Format(Me!workday, "yyyy-mm-dd")
taskID = Me!taskID

link = "http://myurl.com/" & workday & "/" & taskID
Application.FollowHyperlink (link)

End Sub

编辑 - 希望这有助于解释更好的

驱动它的主表有workID(PK),Workday,taskID,StatusID,DateLastUpdated,UpdatedByUserID。用于我的表单的查询从该表中选择所有,并加入任务,状态和用户的元数据表。有多个记录具有相同的工作日值和相同的taskID,但从不相同的组合。表单在标题中有一些过滤器,底部是数据表。在数据表中,我有一个用于更新StatusID的组合框,所有其他字段都被禁用和锁定。我的超链接点击事件位于工作日字段上,并且它正在创建适当的URL,它只是填充了相同的taskID和工作日值,例如,即使我点击" 2016的行-07-12" " 456",我仍然回归" 2016-07-11" &安培; " 123"

这是数据外观的简化版本。我的目标是当用户点击工作日时,他们会被带到由点击的行的工作日和任务ID组成的超链接。

Workday     TaskID
2016-07-11  123
2016-07-11  456
2016-07-11  789
2016-07-12  123
2016-07-12  456
2016-07-12  789
2016-07-13  123
2016-07-13  456
2016-07-13  789

1 个答案:

答案 0 :(得分:0)

我想我实际上已经解决了 - 问题是因为几乎所有字段都被锁定和禁用,所以当前记录在技术上并不是我点击的那一行。我为Workday列设置了Enabled = Yes,现在它按预期工作。