设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4166|回复: 12
打印 上一主题 下一主题

[查询] 查询遗漏的日期

[复制链接]
跳转到指定楼层
1#
发表于 2013-8-22 22:13:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有一个数据表,每天会生成一行数据,因为需要多人输入,有时候会有遗漏。我用笨办法设计了一个查询。先做了一个日期表,将每天的日期都输进去,然后与数据表的日期连接,在窗体组合框里显示数据表内遗漏的日期,提示补充。
请高手指点,是否有简便的方法,谢谢!


本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-8-23 13:21:50 | 只看该作者
请参见如下示例:
Function GetDateList(ByVal y As Long, ByVal m As Long) As String
    Dim str As String
    Dim ssql As String
    Dim i As Long
    Dim d0 As Date
    Dim d1 As Date
   
    ssql = "select * from 数据表 where year(日期)=" & y & " and month(日期)=" & m
    Me.数据表.RowSource = ssql
   
    If Year(Date) = y And Month(Date) = m Then
        d1 = Date
    Else
        d1 = DateSerial(y, m + 1, 0)
    End If
   
    str = ""
    d0 = DateSerial(y, m, 1)
    Do While d0 <= d1
        If DCount("*", "数据表", "日期=#" & d0 & "#") = 0 Then
            str = str & d0 & ";"
        End If
        d0 = DateAdd("d", 1, d0)
    Loop
    str = Left(str, Len(str) - 1)
    GetDateList = str
End Function

本帖子中包含更多资源

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

x
3#
 楼主| 发表于 2013-8-23 16:13:31 | 只看该作者
todaynew 发表于 2013-8-23 13:21
请参见如下示例:
Function GetDateList(ByVal y As Long, ByVal m As Long) As String
    Dim str As S ...

楼上的回复已经查收,遗漏日期中不包含今天,即当日,需修要改哪一条?请指点一下!
4#
发表于 2013-8-24 07:23:00 | 只看该作者
If Year(Date) = y And Month(Date) = m Then
         d1 = DateAdd("d", -1, Date)
     Else
         d1 = DateSerial(y, m + 1, 0)
     End If
5#
 楼主| 发表于 2013-8-24 08:03:34 | 只看该作者
谢谢todaynew ,成功了!
6#
 楼主| 发表于 2013-8-24 11:41:29 | 只看该作者
经过测试,这个方法绑定数据表,如果有多个表需要使用,只能一一对应去修改,能否将数据表设为变量,根据需要去指定,就更好了!
7#
发表于 2013-8-27 10:35:36 | 只看该作者
本帖最后由 todaynew 于 2013-8-27 10:40 编辑
123shusheng 发表于 2013-8-24 11:41
经过测试,这个方法绑定数据表,如果有多个表需要使用,只能一一对应去修改,能否将数据表设为变量,根据需 ...

将数据表名和日期字段名作为参数带入不就完事了

Function GetDateList(ByVal y As Long, ByVal m As Long,Byval tbname as string,DateFildname as string) As String

......
......
ssql = "select * from " & tbname & " where year(" & DateFildname & ")=" & y & " and month(" & DateFildname & ")=" & m
......
......
End Function
8#
 楼主| 发表于 2013-8-27 21:31:37 | 只看该作者


我按照您的说法进行了修改,但提示参数类型不对,请指点指点!谢谢!

本帖子中包含更多资源

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

x
9#
发表于 2013-8-28 14:49:45 | 只看该作者
123shusheng 发表于 2013-8-27 21:31
我按照您的说法进行了修改,但提示参数类型不对,请指点指点!谢谢!

参数是字符型的,当然应该加引号后带入。
10#
 楼主| 发表于 2013-8-28 20:32:13 | 只看该作者


我加引号带入,显示无效的null使用,请指点,谢谢!

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 02:24 , Processed in 0.108642 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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