Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

禁止使用:Ctrl键+任意键

感恩  发表于:2013-08-19 10:52:36  
复制

请教!如何在新增单据里面禁止使用 Ctrl键+A 或 Ctrl键+Z 或 Ctrl键+X 等键?

 

Top
竹笛 发表于:2013-08-19 12:16:32
写一个名为 AutoKeys 的宏

以下为 MS 帮助

将操作或操作集指派给某个键
可以创建一个 AutoKeys 宏组,将一个操作或一组操作指派给某个特定的键或组合键。这样,当按下指定的键或组合键时,Microsoft Access 就会执行相应的操作。如果指派给某个操作的组合键已经由 Access 使用(例如,Ctrl+C 是“复制”的组合键),则新指派给该组合键的操作将取代 Access 的键分配。 

在“数据库”窗口中,单击“对象”下的“宏” 。 
单击“新建”。 
单击工具栏上的“宏名” 。 
在“宏名”列中键入要为一个操作或一组操作指派的键或组合键。 
AutoKeys 组合键的语法

下表显示可以用来在 AutoKeys 宏组中指派键的组合键。这些组合键是用于 Microsoft Visual Basic 中的 SendKeys 语句的语法的子集。

SendKeys 语法 键组合 
^A 或 ^4 Ctrl+A 或 Ctrl+4 
{F1} F1 
^{F1} Ctrl+F1 
+{F1} Shift+F1 
{Insert} Ins 
^{Insert} Ctrl+Ins 
+{Insert} Shift+Ins 
{Delete} 或 {DEL} Del 
^{Delete} 或 ^{DEL} Ctrl+Del 
+{Delete} 或 +{DEL} Shift+Del 


添加需要键或组合键执行的单个操作或一组操作。例如,添加一个 RunMacro 操作,使得在按下 Ctrl+P 时执行 Print Current Record 宏。 


重复第 4 步和第 5 步以进行其他键的指派。 
以 AutoKeys 为名称保存宏组。 
在保存宏组后,每次打开数据库时,新的键分配就会生效。

感恩 发表于:2013-08-19 13:00:56
谢谢竹笛老师的指点,非常感谢,我试试看

感恩 发表于:2013-08-19 14:53:52

End Function

 



感恩 发表于:2013-08-20 08:44:36
竹笛老师讲的我还是没有搞明白,请问是否能用代码来禁止使用 Ctrl+A  或  Ctrl+Z  或  Ctrl+X 键组合呢?就像下面代码一样禁用  Ctrl + C  呢?

Public Function PreventCopyData(KeyCode As Integer, Shift As Integer) '防止复制数据
Select Case Shift
    Case acCtrlMask
    If KeyCode = vbKeyC Then KeyCode = 0: MsgBox "不允许复制数据!!!", vbCritical, "警告"
End Select
End Function



jj77 发表于:2013-08-20 10:26:21
我感觉你要调用API

蟹仔 发表于:2013-08-20 13:06:59
可以换个方式去解决。首先。用户需要对什么内容进行复制跟剪切?如果是已经存在的其他记录。直接把控件锁定并且不可用就行了,那么他啥都干不了只能看。如果是当前编辑的记录,你不让别人复制那就太不人性化了。

总记录:6篇  页次:1/1 9 1 :