设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 追加查询不能运行请教

[复制链接]
跳转到指定楼层
1#
发表于 2012-1-31 15:30:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想将“考勤记录表”中字段“备注”内容为“例子别删除”的记录不追加到“考勤历史记录表”中,设计了一个追加查询,但不能正确运行,盼高手指教,谢谢![attach]48189

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-1-31 18:48:20 | 只看该作者
追加查询改为:
INSERT INTO 考勤历史记录表
SELECT 考勤记录表.*
FROM 考勤记录表 LEFT JOIN 考勤历史记录表 ON 考勤记录表.考勤ID = 考勤历史记录表.考勤ID
WHERE (((考勤记录表.开始日期)>=[Forms]![维护选择窗体]![Combo9]) AND ((考勤记录表.结束日期)<=[Forms]![维护选择窗体]![Combo11]) AND ((考勤历史记录表.考勤ID) Is Null) AND ((考勤记录表.备注)<>"例子别删除")) OR (((考勤记录表.备注) Is Null))
注意条件增加了“ OR (((考勤记录表.备注) Is Null))“,测试一下并通报结果
3#
 楼主| 发表于 2012-2-1 09:11:08 | 只看该作者
谢谢2楼版主的指教!按你的办法还是不行,数据可以追加,但日期条件不起作用了,例如,在“开始日期”输入2000-01-01,在“结束日期”输入2011-12-30,但追加时除了“备注”内容为“例子别删除”的记录不追加外,其余的都追加了,如何办?
4#
发表于 2012-2-1 10:05:16 | 只看该作者
再试一下:
INSERT INTO 考勤历史记录表
SELECT 考勤记录表.*
FROM 考勤记录表 LEFT JOIN 考勤历史记录表 ON 考勤记录表.考勤ID = 考勤历史记录表.考勤ID
WHERE (((考勤记录表.开始日期)>=[Forms]![维护选择窗体]![Combo9]) AND ((考勤记录表.结束日期)<=[Forms]![维护选择窗体]![Combo11]) AND ((考勤历史记录表.考勤ID) Is Null) AND ((nz([考勤记录表].[备注],""))<>"例子别删除"))
5#
 楼主| 发表于 2012-2-1 11:56:02 | 只看该作者
aslxt 版主,按4楼的办法能正确运行,高手!你能说说为什么从空值考虑的思路的?
6#
发表于 2012-2-1 12:21:09 | 只看该作者
你把追加查询的设计试图变为数据表视图,就能看到可以追加的数据,这是检验查询是否正确的重要方法:
设计视图:


数据表视图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
发表于 2012-2-1 12:28:16 | 只看该作者
在查询文本字段中,条件为<>'XXX'的时候,查询结果并不包含该字段值为null的记录,只是把非null记录中排除了'XXX'的记录囊括进来。就是说该字段针对你的条件来说有三种情况,即null、'XXX'、非'XXX'。相当于(没有设置默认值的)是否字段的三种状态一样(null、true、false)
8#
 楼主| 发表于 2012-2-1 17:02:23 | 只看该作者
万分感谢aslxt 版主指教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-27 23:11 , Processed in 0.112040 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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