Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 引用超链接文本框的值_Ms Access_Vba - Fatal编程技术网

Ms access 引用超链接文本框的值

Ms access 引用超链接文本框的值,ms-access,vba,Ms Access,Vba,所以我在使用这个代码时遇到了一些困难。我知道这很烦人,但每次我试图将这些表单引用转换为变量以节省空间时,我的功能都比以前更少 基本上到目前为止,我所做的是创建一个带有多个选项卡的导航表单,一个用于创建票据,一个用于解析/编辑票据,还有一个用于搜索票据。“搜索”选项卡基本上是一个连续表单,根据我输入的搜索条件进行更新。我的目标是,当我单击每条记录的ticketID时,它会将我带到Resolve/Edit Ticket页面上的所选记录(在该页面上,我有一个组合框[CBOGOToreRecord],您

所以我在使用这个代码时遇到了一些困难。我知道这很烦人,但每次我试图将这些表单引用转换为变量以节省空间时,我的功能都比以前更少

基本上到目前为止,我所做的是创建一个带有多个选项卡的导航表单,一个用于创建票据,一个用于解析/编辑票据,还有一个用于搜索票据。“搜索”选项卡基本上是一个连续表单,根据我输入的搜索条件进行更新。我的目标是,当我单击每条记录的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保留为常规文本框……嗯。。