检测Day vb 6.0和ms访问中的冲突

时间:2015-03-02 08:47:24

标签: vb6

我在Day Table name tblday上有这些记录

  1. 中号
  2. Ť
  3. w ^
  4. TH
  5. ˚F
  6. 取值
  7. MW
  8. TTH
  9. WF
  10. 如果我有这个现有的时间表,请说:

    • ScheduleID = 10001
    • StartTime = 8:30 AM
    • EndTime = 1:00 PM
    • 日= M
    • 房间= AVR
    • 课程= BSN

    然后如果我添加这个新条目

    • ScheduleID = 10002
    • StartTime = 9:00 AM
    • EndTime = 10:00 AM
    • 日= MW
    • 房间= AVR
    • 课程= BSN

    这应该会导致计划中的冲突,因为已经存在星期一的计划,因此不应添加新条目。 :)

    注意:MW表示“星期一”和“星期三”,如果它们具有相同的时间表,我会使用它。因为如果为星期一添加新的时间表并且在同一天,时间,房间和课程的星期四添加另一个时间表将变得多余。也与TTH和MWF相同我只能检测冲突,如果它不是两天的组合(例如MTH,TF,......)我真的花了很多时间来解决这个问题。我真的需要你的帮助:(

    下面是代码:

    Function RoomInUse() As Boolean<br><br>
        Dim room As String<br>
        Dim day As String<br>
        Dim starttime As Date<br>
        Dim endtime As Date<br>
        Dim mond As String<br>
        Set rs = New ADODB.Recordset<br>
        With rs<br>
             mond = "select * from tblsched where room Like '" & room & "%' and day like '" & room & "' and (starttime <= #" & starttime & "# And " & _<br>
            "endtime >= #" & starttime & "#) Or (#" & starttime & "#" & _<br>
            "<= starttime And endtime < #" & endtime & "#) Or (#" & _<br>
           starttime & "# <= sarttime And starttime < #" & endtime & "#)) " '"<br>
             .Open mond, con, 3, 3<br>
    
        End With
        If rs.RecordCount >= 1 Then
            RoomInUse = True
        Else
            RoomInUse = False
        End If
    End Function
    

0 个答案:

没有答案