Microsoft Access跳转按钮未生效 需先点击Shoplink列表框问题咨询
问题根因
- 列表框
Liste_Shoplink在执行Requery刷新数据后,不会自动选中任何条目,未选中状态下列表框的默认Value属性为空值,所以If [Liste_Shoplink] <> ""的判断条件不成立,跳转逻辑不会执行 - 手动点击列表框相当于主动选中了对应条目,此时
Value属性就会返回选中的超链接内容,所以代码可以正常运行
修复方案
首先补充你现有代码的语法遗漏:Kombinationsfeld47_AfterUpdate事件缺少End Sub闭合,先补全后可以选择以下任意一种方式解决问题:
方式1:刷新列表框后自动选中第一条条目
在组合框更新事件的Requery语句后添加自动选中逻辑,刷新完数据直接给列表框赋值,无需手动点击:
Private Sub Kombinationsfeld47_AfterUpdate() ' 这是选中操作对应的事件 Me.Liste_Shoplink.Requery ' 存储超链接的列表框 ' 新增代码:列表框有数据时自动选中第一条 If Me.Liste_Shoplink.ListCount > 0 Then Me.Liste_Shoplink = Me.Liste_Shoplink.ItemData(0) End If End Sub Private Sub shoplink_Click() ' 用Nz函数兼容空值判断,避免空值对比报错 If Nz(Me.Liste_Shoplink, "") <> "" Then Dim shoplink As String shoplink = Me.Liste_Shoplink Application.FollowHyperlink shoplink Else MsgBox "No Product in shop" End If End Sub
方式2:点击按钮时直接读取列表框第一条数据(无需选中状态)
如果不需要列表框显示选中效果,可以直接修改按钮点击逻辑,不依赖列表框的选中状态:
Private Sub shoplink_Click() If Me.Liste_Shoplink.ListCount > 0 Then Dim shoplink As String shoplink = Me.Liste_Shoplink.ItemData(0) Application.FollowHyperlink shoplink Else MsgBox "No Product in shop" End If End Sub
内容的提问来源于stack exchange,提问作者ExRain
相关产品推荐
相关产品推荐

