我为一家定制橱柜制造商工作,我们为自己的产品编写自己的定价计划。我有一个带有弹出框的表格,因此用户可以选择铰链将在哪个侧面上用于该橱柜上的模糊门。到目前为止,我已经完成了这项工作,但是当他们复制一个项目并将其粘贴在底部时,我不希望弹出框出现。 Access VBA中是否有任何方法可以知道是否正在手动粘贴或输入新记录?
答案 0 :(得分:3)
也许某些事情符合这一点。
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
答案 1 :(得分:1)
您可以自定义菜单,例如,如果您将这样的代码添加到标准模块:
Public gvarPasted As Boolean
Function AssignVar()
gvarPasted = True
DoCmd.RunCommand acCmdPaste
End Function
您可以使用工具栏菜单的自定义选项将菜单上的粘贴的Action属性设置为此功能。您还需要创建自己的快捷菜单(右键单击菜单)来代替内置菜单。快捷菜单可以分配给所有表单,也可以只分配给需要它的表单。也可以关闭所有表单的快捷菜单。