Office中国论坛/Access中国论坛

标题: 删除查询设计 [打印本页]

作者: ycxchen    时间: 2008-12-24 16:55
标题: 删除查询设计
在例子中,我想将点灯期满天数大于90天的记录通过查询删除,但查询运行不了,请各位指教。
[attach]34012[/attach]
作者: Henry D. Sy    时间: 2008-12-24 17:04
DELETE *
FROM 点灯表
WHERE (((DateDiff("d",[起点日期],Date()))>=90));
作者: ycxchen    时间: 2008-12-24 17:08
谢放!但达不到我的目的,我的意思:通过在查询中设定的条件,能将点灯表及游客的相关记录能一并删除
作者: ycxchen    时间: 2008-12-24 17:49
感谢6D版主的指教!我再举个例子说明一下:在“点灯表”中,张三伍的点灯期满天数大于90天,删除时能将他的点灯记录删除,且能将他在“游客表”中的“姓名”、“地址”、“手机号码”等数据(即全部相关记录)一并删除。请问,如何设计查询?
作者: Henry D. Sy    时间: 2008-12-24 20:10
设计两个删除查询。
作者: ycxchen    时间: 2008-12-25 01:18
谢谢指点!用两个删除查询我已考虑过,用一个行不行?
作者: Henry D. Sy    时间: 2008-12-25 08:12
同时删掉两个表,我没试过。
作者: ycxchen    时间: 2008-12-25 08:43
谢谢!好的,我试用两个查询。
作者: Henry D. Sy    时间: 2008-12-25 08:48
原帖由 ycxchen 于 2008-12-25 08:43 发表
谢谢!好的,我试用两个查询。

其实,一般数据库设计完成,表和查询都不面对用户的,面对用户的是窗体,那你将两个查询放在一个按钮事件下,没有什么一个两个之分吧。
作者: Henry D. Sy    时间: 2008-12-25 09:11
当然,也可以利用表之间的关系,设定实施参照完整性,级联删除。
这样,当删除主表记录时,相关表记录也会一并删除。
作者: opokimm    时间: 2008-12-25 09:13
标题: 人过留名,雁过留声。
人过留名,雁过留声。
看帖回帖,占位顶贴






作者: ycxchen    时间: 2008-12-25 09:33
十分感谢6D!利用表之间的关系,设定实施参照完整性,级联删除办法是完全可以的,但我的查询所设定的条件的字段不是主表,所以,我还是用两个查询来实现。
作者: Henry D. Sy    时间: 2008-12-25 09:37
1。 两个查询可以解决
2。 但我的查询所设定的条件的字段不是主表
      条件可以用子查询查阅子表的外键。
      不过反而没有方法1方便。
作者: ycxchen    时间: 2008-12-25 11:21
6D说得有道理,谢谢!
作者: ycxchen    时间: 2008-12-25 11:40
其实,我觉得在删除查询设计中,只要选用一个或两个字段,后在此选用的字段设定条件即可,运行查询后所有字段的记录便会全部删除,没有必要在设计时选用表中所有字段吧?所以,我觉得2楼的代码可以改成如下:
DELETE 点灯表.起点日期, 点灯表.期满日期, DateDiff("d",[期满日期],Date()) AS 期满天数:
FROM 点灯表
WHERE (((DateDiff("d",[期满日期],Date()))>90));
高明的6D版主,你认为呢?
作者: Henry D. Sy    时间: 2008-12-25 12:08
delete from 表 where 条件,即可。

DELETE 点灯表.起点日期, 点灯表.期满日期, DateDiff("d",[期满日期],Date()) AS 期满天数:
FROM 点灯表

不如delete * 方便

[ 本帖最后由 Henry D. Sy 于 2008-12-25 12:09 编辑 ]
作者: ycxchen    时间: 2008-12-25 14:40
谢谢!
作者: lingjiang    时间: 2008-12-27 19:57
[:31] [:31] [:31]
作者: xinchen327    时间: 2009-4-8 15:24
学习了
作者: xinchen327    时间: 2009-4-8 15:51
学习
作者: dbbygzy    时间: 2010-4-17 20:49
学习了




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3