我为一家定制橱柜制造商工作,我们为自己的产品编写自己的定价计划。我有一个带有弹出框的表格,因此用户可以选择铰链将在哪个侧面上用于该橱柜上的模糊门。到目前为止,我已经完成了这项工作,但是当他们复制一个项目并将其粘贴在底部时,我不希望弹出框出现。 Access VBA中是否有任何方法可以知道是否正在手动粘贴或输入新记录?

有帮助吗?

解决方案

您可以自定义菜单,例如,如果您将这样的代码添加到标准模块:

Public gvarPasted As Boolean

Function AssignVar()
    gvarPasted = True
    DoCmd.RunCommand acCmdPaste
End Function

您可以使用工具栏菜单的自定义选项将菜单上的粘贴的Action属性设置为此功能。您还需要创建自己的快捷菜单(右键单击菜单)来代替内置菜单。快捷菜单可以分配给所有表单,也可以只分配给需要它的表单。也可以关闭所有表单的快捷菜单。

其他提示

也许某些事情符合这一点。

Option Compare Database
Public gvarPasted As Boolean

Private Sub txtText_AfterUpdate()
If Not gvarPasted Then
    'Open pop-up here
Else
    gvarPasted = False
End If
End Sub

Private Sub txtText_KeyDown(KeyCode As Integer, Shift As Integer)
'Detect ctrl-V combination
If Shift = acCtrlMask And KeyCode = vbKeyV Then
    gvarPasted = True
End If
End Sub
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top