示例
一、写两个查询
1、行政查询:
SELECT 行政部.*, CDate([日期] & " " & nz(DMax("时间","行政部","姓名='" & [姓名] & "' and 日期=#" & [日期] & "# and 时间<'" & [时间] & "'"),[时间])) AS Time1, CDate([日期] & " " & [时间]) AS Time2, DateDiff("n",Time1,Time2) AS 时间差
FROM 行政部
ORDER BY 姓名, 日期, 时间;
2、同日查询
SELECT 行政部.姓名, 行政部.日期
FROM 行政部
GROUP BY 行政部.姓名, 行政部.日期;
二、写两个自定义子程序
Sub Ergodic()
Dim rs As New ADODB.Recordset
Dim ssql As String
Dim i As Long
ssql = "select * from 同日查询"
rs.Open ssql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
For i = 1 To rs.RecordCount
Call delRe(rs!姓名.Value, rs!日期.Value)
rs.MoveNext
Next
rs.Close: Set rs = Nothing
End Sub
Sub delRe(ByVal name As String, ByVal d As Date)
Dim rs As New ADODB.Recordset
Dim ssql As String
Dim i As Long
Dim x1 As Long, x2 As Long
ssql = "select * from 行政查询 where 姓名='" & name & "' and 日期=#" & d & "#"
rs.Open ssql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
For i = 1 To rs.RecordCount
x1 = rs!时间差.Value
If x1 <= 15 Then
x1 = rs!时间差.Value
rs.MoveNext
If rs.EOF = False Then
x2 = rs!时间差.Value
rs.MovePrevious
If x2 <= 15 Then
rs.Delete
rs.Update
End If
End If
End If
If rs.EOF Then Exit For
rs.MoveNext
Next
rs.Close: Set rs = Nothing
End Sub
三、调用子程序
Me.子窗体.Requery