以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 关于时间段查询 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=30458) |
-- 作者:bahamute -- 发布时间:2013/3/28 9:47:00 -- [求助] 关于时间段查询 帮助里面有一段“本月生日员工”的查询代码,打算修改成“一年内退休人员”,退休时间已知,对最长那一句始终未吃透,新手啊,求指点。 最好给分析一下“If (dt1 >= Date.Today AndAlso dt1 < Date.Today.AddYears(n)) OrElse (dt2 >= Date.Today AndAlso dt2 < Date.Today.AddDays(n)) ”这句,对时间段很头大。 Dim ids As String
Dim n As Integer = 1 \'一年内
For Each dr As DataRow In DataTables("基本信息").DataRows
Dim dt As Date = dr("退休时间")
Dim dt1 As New
Date(Date.Today.Year,dt.Month,dt.Day)
Dim dt2 As New
Date(Date.Today.AddYears(n).Year,dt.Month,dt.Day)
Dim t As TimeSpan = dt2 - dt1 If (dt1 >= Date.Today AndAlso dt1 < Date.Today.AddYears(n)) OrElse (dt2 >= Date.Today AndAlso dt2 < Date.Today.AddDays(n)) Then ids = ids & ",\'"
& dr("工号")
& "\'"
End If
Next
If ids > "" Then
ids = ids.Trim(",")
Tables("基本信息").filter
= "[工号] In
(" & ids &")"
End If Forms("正式工信息").Open MainTable = Tables("基本信息") |
-- 作者:bahamute -- 发布时间:2013/3/28 11:59:00 -- 这个问题我还是没有解决啊,继续寻求支持。 退休年龄已知,想实现查询“一年内退休人员”。 先谢谢啦。
|