access如何设置一个按钮,点一下将每个姓名的记录里增加一条记录?
比如一张表里有10个人的姓名,每个姓名又有15条记录,如何设置一个按钮,点一下之后对这10个人的“日期”这一项进行判断,如果该人最后一条记录的日期小于今天则增加该人的一条...
比如一张表里有10个人的姓名,每个姓名又有15条记录,
如何设置一个按钮,点一下之后对这10个人的“日期”这一项进行判断,
如果该人最后一条记录的日期小于今天则增加该人的一条记录,新纪录的日期=上次日期+3,
如果该人最后一条记录的日期大于今天则不增加该人的记录。
请问如何写该按钮的语句? 展开
如何设置一个按钮,点一下之后对这10个人的“日期”这一项进行判断,
如果该人最后一条记录的日期小于今天则增加该人的一条记录,新纪录的日期=上次日期+3,
如果该人最后一条记录的日期大于今天则不增加该人的记录。
请问如何写该按钮的语句? 展开
1个回答
展开全部
第一句话:
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 临时表" '删除临时表
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语句把这个查询里的记录插回原表时提示键值冲突是怎么回事?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询