Ms access MS Access中链接的用户友好表单
我正在尝试创建具有以下行为的窗体:Ms access MS Access中链接的用户友好表单,ms-access,vba,Ms Access,Vba,我正在尝试创建具有以下行为的窗体: 当它为空时单击它将打开插入超链接的对话框窗口 当有超链接时,单击它将打开超链接 单击附近的“清除”按钮可清除表单,删除超链接(如果存在) 我现在被第二步困住了。超链接插入窗口的代码如下: Private Sub PSIC_Click() Me.[PSIC].SetFocus On Error GoTo browse_stop RunCommand acCmdInsertHyperlink browse_stop: End Sub 当我尝试应用不同的if-th
Private Sub PSIC_Click()
Me.[PSIC].SetFocus
On Error GoTo browse_stop
RunCommand acCmdInsertHyperlink
browse_stop:
End Sub
当我尝试应用不同的if-then变体时,它并没有像预期的那样工作。要么我无法正确应用if-then,要么我无法确定表单为空。要在MS Access中从表单打开超链接,请执行以下操作: 在“设计”视图中,确保超链接位于其自己的文本框中,然后转到“属性页”,然后向下走到一半,您应该会看到超链接地址的选项。在此处添加超链接的地址 如果要单击图像并使其打开超链接,请在图像上单击鼠标右键转到超链接 超链接文本框的
OnClick()
事件将是:
Private Sub PSIC_Click()
On Error GoTo browse_stop
If ISNULL(Me!PSIC) Then
RunCommand acCmdInsertHyperlink
End If
browse_stop:
End Sub
Private Sub cmdClearForm_Click()
Me!PSIC = NULL
End Sub
我删除了SetFocus
,因为点击文本框会自动设置焦点,但是如果你出于其他原因需要它,它不会真的伤害任何东西
“清除表单”命令按钮的OnClick()
事件是:
Private Sub PSIC_Click()
On Error GoTo browse_stop
If ISNULL(Me!PSIC) Then
RunCommand acCmdInsertHyperlink
End If
browse_stop:
End Sub
Private Sub cmdClearForm_Click()
Me!PSIC = NULL
End Sub
谢谢除了一个问题外,它工作正常。如果存在链接,我单击它,它将打开两次。旧的输入字段没有这样的问题。我不知道是什么导致了这种行为。@wintermute文本框的超链接属性是空的吗?它应该是,但如果是并且仍然打开两次,请在
FollowHyperlink
行上设置一个断点,然后在表单视图中单击该超链接。它在休息前打开一次吗?@wintermute另外,True
参数会打开一个新的浏览器窗口,因此您可以尝试设置为false
,并查看它的行为。看起来它会在函数结束后(我可能在这里使用错误的术语)第二次打开链接。因此,第一次使用FollowHyperlink
打开链接,第二次使用默认的超链接单击处理程序打开链接。将True
更改为False
没有帮助。我将尝试删除FollowHyperlink
,看看它是否有效。@我已经编辑了代码,默认情况下允许处理程序引导超链接。