设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5659|回复: 8
打印 上一主题 下一主题

[宏/菜单/工具栏] 为何:命令或操作"DeleteRecord"当前不可用?

[复制链接]
跳转到指定楼层
1#
发表于 2011-7-21 12:26:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 紫风 于 2011-7-21 12:33 编辑

如题,为什么在cmdDel单击后出现错误提示呢?
代码如下:
Docmd.RunCommand accmdDeleteRecord

补充一下,如果单独打开这个窗体时,是可以删除记录的,但是当它作为子窗体时,就删除不了记录。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2011-7-21 13:16:17 | 只看该作者
本帖最后由 轻风 于 2011-7-21 13:24 编辑

发上实例
3#
发表于 2011-7-21 17:49:48 | 只看该作者
紫风 发表于 2011-7-21 12:26
如题,为什么在cmdDel单击后出现错误提示呢?
代码如下:
Docmd.RunCommand accmdDeleteRecord

需先让子窗体控件获得焦点。比如:

me.子窗体.SetFocus
Docmd.RunCommand accmdDeleteRecord

4#
 楼主| 发表于 2011-7-21 20:27:27 | 只看该作者
感谢轻风和today new 版主的帮忙,问题解决了,不过我用的是delete * from tblxxx where id = ![id]
5#
发表于 2011-7-21 20:40:09 | 只看该作者
紫风 发表于 2011-7-21 20:27
感谢轻风和today new 版主的帮忙,问题解决了,不过我用的是delete * from tblxxx where id = !

可以尝试用Docmd.RunCommand accmdDeleteRecord方法试试,开辟一条新途径。注意:凡是用Docmd.RunCommand 对子窗体的记录进行删除、跳转等操作,都需要先将焦点移到子窗体控件上。
6#
 楼主| 发表于 2011-7-21 21:02:28 | 只看该作者
todaynew 发表于 2011-7-21 20:40
可以尝试用Docmd.RunCommand accmdDeleteRecord方法试试,开辟一条新途径。注意:凡是用Docmd.RunCommand ...

哦……原来是这样,明白了!
谢谢版主!!
不过,为什么有这么简单的方法,我们还要用DELETE呢?还是说区别在于:如果用DELETE的话,不用先把焦点放到子窗体上?
7#
发表于 2011-7-21 21:12:51 | 只看该作者
本帖最后由 todaynew 于 2011-7-21 21:17 编辑
紫风 发表于 2011-7-21 21:02
哦……原来是这样,明白了!
谢谢版主!!
不过,为什么有这么简单的方法,我们还要用DELETE呢?还是说 ...


No!

用操作查询(包括删除查询、更新查询、追加查询等)是用SQL直接对数据表进行操作;用AOD或DAO进行删除、更新、追加也是直接对数据表进行操作。但用Docmd.RunCommand 则不然,它操作的对象是窗体,也就说通过窗体来间接的操作数据表。

因此上,对数据表的操作大体可以分为直接和间接的两种方法,这两种方法各有其优劣。对数据表的直接操作,运算速度要快些。但对窗体的操作有一个好处,就是不必知道表或查询是谁,于是在代码上就简单一些,代码的通用性也会好一些。总体来说,需要针对具体问题来考虑采用什么方法。

由于sql是针对表的操作,与窗体无关,所以窗体是否具有焦点不影响操作。而Docmd.RunCommand 是针对窗体的,所以必须先要有焦点,也就是告诉Access我将对哪个窗体进行操作。此外Docmd.RunCommand 对记录的操作对应于窗体的快捷键中的操作。


8#
 楼主| 发表于 2011-7-22 08:36:41 | 只看该作者
todaynew 发表于 2011-7-21 21:12
No!

用操作查询(包括删除查询、更新查询、追加查询等)是用SQL直接对数据表进行操作;用AOD或DAO进 ...

谢谢版主的耐心!原来是这样!
9#
发表于 2011-7-28 11:29:42 | 只看该作者
谢谢 先收集了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 16:58 , Processed in 0.096563 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表