我为一家定制橱柜制造商工作,我们为我们的产品编写了自己的定价程序。我有一个带有弹出框的表单,因此用户可以选择铰链将在哪一侧用于该柜子上的模棱两可的门。到目前为止,我已经完成了这项工作,但是当他们复制一个项目并将其粘贴到底部时,我不希望弹出框出现。Access VBA中有什么方法可以知道是粘贴还是手动输入新记录?
FirebirdVII1963
问问题
3916 次
2 回答
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
于 2008-10-20T15:16:20.377 回答
1
您可以自定义菜单,例如,如果您将这样的代码添加到标准模块:
Public gvarPasted As Boolean
Function AssignVar()
gvarPasted = True
DoCmd.RunCommand acCmdPaste
End Function
您可以使用工具栏菜单的自定义选项将菜单上粘贴的 Action 属性设置为此功能。您还需要创建自己的快捷菜单(右键菜单)来代替内置菜单。快捷菜单既可以分配给所有表格,也可以只分配给需要它的表格。也可以关闭所有表单的快捷菜单。
于 2008-10-20T16:01:47.757 回答