Option Explicit
Private strQuery As String
Private fromtime As String                           '开始时间
Private totime As String                             '结束时间Private Sub CmdCancel_Click()
    Unload Me
    Exit Sub
End Sub
Private Sub setstrQuery()
    fromtime = Me.SYear & "-" & Me.SMonth & "-1" & "-" & Me.SDay & "-2"
    totime = Me.EYear & "-" & Me.EMonth & "-1" & "-" & Me.EDay & "-2"
    If Me.IDchecked.Value = vbChecked And Me.Timechecked.Value = vbChecked Then
        strQuery = "select * from 改变信息 where AID='" & Me.StuffID
        strQuery = strQuery & "' and OutTime between #" & fromtime & "# and #"
        strQuery = strQuery & totime & "#"
        MsgBox strQuery
    ElseIf Me.IDchecked.Value = vbChecked Then
        strQuery = "select * from 改变信息 where AID='" & Me.StuffID & "' order by ID"
    ElseIf Me.Timechecked.Value = vbChecked Then
        strQuery = "select * from 改变信息 where OutTime between #" & fromtime
        strQuery = strQuery & "# and #" & totime & "# order by ID"
    Else
        strQuery = "select * from 改变信息 order by ID"
    End If
End SubPrivate Sub CmdOk_Click()
    Call setstrQuery
    TurnInfoRS.Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\员工.mdb"
    TurnInfoRS.Adodc1.RecordSource = strQuery
    If strQuery <> "" Then
        frmAlterationResult.Adodc1.Refresh
    End If
    Set TurnInfoRS.DataGrid1.DataSource = TurnInfoRS.Adodc1.Recordset
    TurnInfoRS.DataGrid1.Refresh
    TurnInfoRS.Show
    TurnInfoRS.ZOrder 0
    Unload Me
End SubPrivate Sub Form_Load()
 Dim i, j As Integer
    Dim SQL As String
    Dim rs As New ADODB.Recordset
    SQL = "select distinct AID from 改变信息 order by AID"
    Set rs = TransactSQL(SQL)
    If rs.EOF = False Then
        rs.MoveFirst
        While Not rs.EOF
            Me.StuffID.AddItem rs(0)
            rs.MoveNext
        Wend
        Me.StuffID.ListIndex = 0
    End If
    rs.Close
    SQL = "select distinct OutTime from 改变信息"
    Set rs = TransactSQL(SQL)
    If Not rs.EOF Then
        rs.MoveFirst
        While Not rs.EOF
            If Not IsNull(rs.Fields(0)) Then            '设置年
                Me.SYear.AddItem Left(rs(0), 4)
                Me.EYear.AddItem Left(rs(0), 4)
            End If
            rs.MoveNext
        Wend
        rs.Close
        Me.SYear.ListIndex = 0
        Me.EYear.ListIndex = 0
    End If
    For i = 1 To 12                                     '设置月
        Me.SMonth.AddItem i
        Me.EMonth.AddItem i
    Next i
        Me.SMonth.ListIndex = 0
        Me.EMonth.ListIndex = 0
        
   For j = 1 To 30                                     '设置日
        Me.SDay.AddItem j
        Me.EDay.AddItem j
    Next j
        Me.SDay.ListIndex = 0
        Me.EDay.ListIndex = 0
End Sub
还有那个日的设置不会弄,因为有一个月中有30也有31,平年闰年2月份也不同 帮帮忙哦(*^__^*) 嘻嘻……