access如何设置一个按钮,点一下将每个姓名的记录里增加一条记录?

比如一张表里有10个人的姓名,每个姓名又有15条记录,如何设置一个按钮,点一下之后对这10个人的“日期”这一项进行判断,如果该人最后一条记录的日期小于今天则增加该人的一条... 比如一张表里有10个人的姓名,每个姓名又有15条记录,
如何设置一个按钮,点一下之后对这10个人的“日期”这一项进行判断,
如果该人最后一条记录的日期小于今天则增加该人的一条记录,新纪录的日期=上次日期+3,
如果该人最后一条记录的日期大于今天则不增加该人的记录。
请问如何写该按钮的语句?
展开
 我来答
庆有
2016-06-13 · 知道合伙人软件行家
庆有
知道合伙人软件行家
采纳数:1215 获赞数:3464
哈尔滨工业大学电气工程及其自动化专业,从事建筑工程管理。

向TA提问 私信TA
展开全部
第一句话:
DoCmd.RunSQL "SELECT * FROM 记录 INTO 临时表 WHERE 姓名 IN( SELECT 姓名 FROM 10个人的姓名表 WHERE 日期 < DATE() );" '把符合条件的记录筛选出来,建立一个临时表
第二句话:
DoCmd.RunSQL "INSERT INTO 记录(记录内容,字段1,字段2,……) SELECT 记录内容,字段1,字段2,…… FROM 临时表; " ‘按要求,为符合条件的人名下面增加记录,“增加该人的一条记录”
第三句话:
DoCmd.RunSQL "UPDATE task SET [日期] =[日期] +3 WHERE ID IN( SELECT 姓名 FROM 10个人的姓名表 WHERE 日期 < DATE() );" '这句话的意思是“新纪录的日期=上次日期+3”
第四句话:
DoCmd.RunSQL "DROP TABLE 临时表" '删除临时表
追问
1、我是初学者有点没看明白 第一句话中的“记录”和“10个人的姓名表”指的是同一张表么?还有为什么运行时提示语法错误?
2、我用建立查询的方法做出了1个查询,筛选出了所有人日期小于今天的最后一条记录,但是我用INSERT INTO语句把这个查询里的记录插回原表时提示键值冲突是怎么回事?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式