设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 通过日期查人员状态

[复制链接]
跳转到指定楼层
1#
发表于 2009-8-13 21:02:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
表Sheet1内是张三、李四两个人的简单简历,我希望在窗体1,日期框内输入日期,只显示据此日期最近的那条记录,比如输入2009-08-01,那么,只显示:
5    张三   工作    2006-09-01
10   李四   工作    2006-03-01


如果输入2002-04-06,那么,只显示:
3   张三    高中    1999-09-01
9   李四    大学    2002-03-01

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-8-14 09:04:24 | 只看该作者
不知道你的日期取值范围。这里是输入日期的年-3和年+1范围,如果月份要设定范围也是一样

可在你的 Sheet1 查询 WHERE 修改成以下
WHERE Year([开始日期]) Between Year(Forms!窗体1!Text2)-3 And Year(Forms!窗体1!Text2)+1
3#
发表于 2009-8-14 12:27:24 | 只看该作者
子查询

select *
from sheet1
where id in (select distinct myid from (SELECT a.姓名, a.开始日期,
(select top 1 b.id from sheet1 b where b.姓名=a.姓名 and b.开始日期<=#2002/3/1# order by b.开始日期 desc) as myId
from sheet1 AS a))
4#
发表于 2009-8-14 12:31:56 | 只看该作者
1. 随便做个查询称为 “结果”
2
Private Sub Command4_Click()
    Dim qdf As DAO.QueryDef
    Dim strSQL As String
    If Not IsNull(Me.Text2) Then
        strSQL = _
        "select * from sheet1 where id in (select distinct myid from (SELECT a.姓名, a.开始日期, (select top 1 b.id from sheet1 b where b.姓名=a.姓名 and b.开始日期<=#" _
               & Me.Text2 & "# order by b.开始日期 desc) as myId FROM Sheet1 AS a))"
        Set qdf = CurrentDb.QueryDefs("结果")
        qdf.SQL = strSQL
        Me.She.SourceObject = "查询.结果"
        qdf.Close
        Set qdf = Nothing
    End If
End Sub

本帖子中包含更多资源

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

x
5#
发表于 2009-8-14 15:52:11 | 只看该作者
学习一下
6#
 楼主| 发表于 2009-8-14 19:47:28 | 只看该作者
非常感谢Henry D. Sy 版主的回复,完全满足要求,我在实验中发现,还有一个小问题,就是如果单位里姓名重复了,就无法查出了,所以还必须加入一个条件,"部门",我对我的例子进行了修改,请高手再帮我改改,谢谢!

本帖子中包含更多资源

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

x
7#
发表于 2009-8-14 20:13:25 | 只看该作者
人员应该有一个人员表,每个人有一个id,这样就不会存在着重名的问题。
8#
发表于 2009-11-30 11:27:39 | 只看该作者
学习中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-1 13:36 , Processed in 0.103806 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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