Ms access 引用超链接文本框的值
所以我在使用这个代码时遇到了一些困难。我知道这很烦人,但每次我试图将这些表单引用转换为变量以节省空间时,我的功能都比以前更少 基本上到目前为止,我所做的是创建一个带有多个选项卡的导航表单,一个用于创建票据,一个用于解析/编辑票据,还有一个用于搜索票据。“搜索”选项卡基本上是一个连续表单,根据我输入的搜索条件进行更新。我的目标是,当我单击每条记录的ticketID时,它会将我带到Resolve/Edit Ticket页面上的所选记录(在该页面上,我有一个组合框[CBOGOToreRecord],您可以在其中选择所需的记录) 我有一个超链接,将用户带到“解析/编辑”页面和代码,只有当我用四个星号(为了清楚起见)表示的行被替换为Ms access 引用超链接文本框的值,ms-access,vba,Ms Access,Vba,所以我在使用这个代码时遇到了一些困难。我知道这很烦人,但每次我试图将这些表单引用转换为变量以节省空间时,我的功能都比以前更少 基本上到目前为止,我所做的是创建一个带有多个选项卡的导航表单,一个用于创建票据,一个用于解析/编辑票据,还有一个用于搜索票据。“搜索”选项卡基本上是一个连续表单,根据我输入的搜索条件进行更新。我的目标是,当我单击每条记录的ticketID时,它会将我带到Resolve/Edit Ticket页面上的所选记录(在该页面上,我有一个组合框[CBOGOToreRecord],您
rst.FindFirst "ticketID =" & [some number].
当我这样做时,结果与预期一样。如果我将其保留在下面,则每条记录都会查找第一条记录(Debug.print检查显示此字段的值显然始终为1…)因此,我想我需要弄清楚的是如何访问ticketID超链接的值,以便我可以将其放在该行上,并使我的代码有效运行?如果这过于详细,但计算过多总比不够好,我深表歉意
Private Sub ticketID_Click()
'Takes user from Search Tickets to Resolve/Edit Issues tab
DoCmd.BrowseTo acBrowseToForm, "frmResolveIssues", "frmBrowseTickets.NavigationSubform"
On Error Resume Next
Dim rst As Object
Set rst = Forms!frmBrowseTickets!NavigationSubform.Form.RecordsetClone
[Forms]![frmBrowseTickets]![NavigationSubform].Form![cboGoToRecord].Value = [Forms]![frmBrowseTickets]![NavigationSubform].Form![ticketID].Value
****rst.FindFirst "ticketID =" & [Forms]![frmBrowseTickets]![NavigationSubform].Form![cboGoToRecord].Value
Forms!frmBrowseTickets!NavigationSubform.Form.Bookmark = rst.Bookmark
Debug.Print [Forms]![frmBrowseTickets]![NavigationSubform].Form![ticketID].Value
End Sub
编辑:
在修改我的表单添加一个单独的超链接并引用静态ticketID之后,我得出结论,我认为一切都不是真的。查找超链接的值不是问题所在。问题是,我的ticketID值确实坚持为1,我不知道如何解决这个问题。当这起作用时:
Debug.Print [Forms]![frmBrowseTickets]![NavigationSubform].Form![ticketID].Value
然后还可以查看:
Debug.Print [Forms]![frmBrowseTickets]![NavigationSubform].Form![cboGoToRecord].Value
6月7日,我从不使用导航表单。它把一切都复杂化了。在
[Forms]中,除第一个以外的所有感叹号![frmBrowseTickets]![导航子窗体]。窗体![ticketID]。据我所知,值应该是点。不把它作为答案,因为我不确定它是否如此简单。所以[Forms]![frmBrowseTickets].[NavigationSubform].Form.[ticketID].Value
我从未使用过导航表单,因为很难引用表单。Review@ErikvonAsmuth:原始语法是正确的。唯一的点是在形式和价值之前。@June7我知道,这是一场噩梦试图参考。。。这就是说,它看起来不错,弄清楚如何使这个超链接功能正确是完成我的项目的最后一步,所以我决心以某种方式使它工作!我查看了那个链接,认为我用来引用表单的语法是正确的……我会在引用控件之前使用dot(在本例中是cboGoToRecord)和!(bang)在字段引用之前。然而,我认为即使这样也不能解决这个问题。CBOGOToreRecord和ticketID是否在同一个子窗体上?它们都输出值1,但我认为正确读取ticketID的值是一个问题。我不知道如何使VBA注册,因为我正在点击一个数字“4”,而不仅仅是一些超链接。它坚持始终具有值1。也许解决方案只是创建另一个超链接字段,用于打开记录并将ticketID保留为常规文本框……嗯。。