当日期前导零时,VBA错误匹配表中的日期和查询中的日期,例如01/04或02/04

乌龟

我在MS Access中有一个名为qryRMCountStudentsBySessionWP的查询。结果如下所示。

在此处输入图片说明

我有一些下面显示的VBA代码。基本上,如果Timetable_Date,Timetable_Session和Location与称为Invigilation的表中记录的Exam_Date,Exam_Session和Exam_Location相匹配,则对该记录的开始时间进行更改。

这在30/03/2020和31/03/2020上非常有效,但在4月的任何日期中都没有。我认为这是因为前导零,但我只是想不出如何解决它。有任何想法吗?

Private Sub wordProcessing()

    Dim dbs                As Database
    Dim name               As String
    Dim SQL                As String
    Dim rstAllSessions     As Recordset

    Set dbs = CurrentDb

         SQL = "SELECT Timetable_Date, Timetable_Session, Location, CountOfStudent_Ref FROM qryRMCountStudentsBySessionWP;"


    Set rstAllSessions = dbs.OpenRecordset(SQL)

    rstAllSessions.MoveFirst

    Do Until rstAllSessions.EOF  ' for each sesson update invigilation table


         If rstAllSessions.Fields(3) >= 10 Then

            If rstAllSessions.Fields(1) = "A" Then
                dbs.Execute "UPDATE Invigilation SET Start_Time = TimeValue('08:30:00'), Notes = 'WP Exam with 10 or more students' WHERE Invigilation.Exam_Date = #" & rstAllSessions!Timetable_Date & "# AND Invigilation.Exam_Location = " & "'" & rstAllSessions!Location & "'" & "AND  Invigilation.Exam_Session = " & "'" & rstAllSessions!Timetable_Session & "'" & ";", dbFailOnError
            Else
                dbs.Execute "UPDATE Invigilation SET Start_Time = TimeValue('13:00:00'), Notes = 'WP Exam with 10 or more students' WHERE Invigilation.Exam_Date = #" & rstAllSessions!Timetable_Date & "# AND Invigilation.Exam_Location = " & "'" & rstAllSessions!Location & "'" & "AND  Invigilation.Exam_Session = " & "'" & rstAllSessions!Timetable_Session & "'" & ";", dbFailOnError
            End If

         ElseIf rstAllSessions.Fields(3) >= 5 Then

            If rstAllSessions.Fields(1) = "A" Then
                dbs.Execute "UPDATE Invigilation SET Start_Time = TimeValue('08:35:00'), Notes = 'WP Exam with 5 or more students' WHERE Invigilation.Exam_Date = #" & rstAllSessions!Timetable_Date & "# AND Invigilation.Exam_Location = " & "'" & rstAllSessions!Location & "'" & "AND  Invigilation.Exam_Session = " & "'" & rstAllSessions!Timetable_Session & "'" & ";", dbFailOnError
            Else
                dbs.Execute "UPDATE Invigilation SET Start_Time = TimeValue('13:05:00'), Notes = 'WP Exam with 5 or more students' WHERE Invigilation.Exam_Date = #" & rstAllSessions!Timetable_Date & "# AND Invigilation.Exam_Location = " & "'" & rstAllSessions!Location & "'" & "AND  Invigilation.Exam_Session = " & "'" & rstAllSessions!Timetable_Session & "'" & ";", dbFailOnError
            End If

        ElseIf rstAllSessions.Fields(3) > 1 Then

            If rstAllSessions.Fields(1) = "A" Then
                dbs.Execute "UPDATE Invigilation SET Start_Time = TimeValue('08:40:00'), Notes = 'WP Exam with >1 and <5 students' WHERE Invigilation.Exam_Date = #" & rstAllSessions!Timetable_Date & "# AND Invigilation.Exam_Location = " & "'" & rstAllSessions!Location & "'" & "AND  Invigilation.Exam_Session = " & "'" & rstAllSessions!Timetable_Session & "'" & ";", dbFailOnError
            Else
                dbs.Execute "UPDATE Invigilation SET Start_Time = TimeValue('13:10:00'), Notes = 'WP Exam with >1 and <5 students' WHERE Invigilation.Exam_Date = #" & rstAllSessions!Timetable_Date & "# AND Invigilation.Exam_Location = " & "'" & rstAllSessions!Location & "'" & "AND  Invigilation.Exam_Session = " & "'" & rstAllSessions!Timetable_Session & "'" & ";", dbFailOnError
            End If

        Else

           If rstAllSessions.Fields(1) = "A" Then
                dbs.Execute "UPDATE Invigilation SET Start_Time = TimeValue('08:45:00'), Notes = 'WP Exam with 1 student' WHERE Invigilation.Exam_Date = #" & rstAllSessions!Timetable_Date & "# AND Invigilation.Exam_Location = " & "'" & rstAllSessions!Location & "'" & "AND  Invigilation.Exam_Session = " & "'" & rstAllSessions!Timetable_Session & "'" & ";", dbFailOnError
            Else
                dbs.Execute "UPDATE Invigilation SET Start_Time = TimeValue('13:15:00'), Notes = 'WP Exam with 1 student' WHERE Invigilation.Exam_Date = #" & rstAllSessions!Timetable_Date & "# AND Invigilation.Exam_Location = " & "'" & rstAllSessions!Location & "'" & "AND  Invigilation.Exam_Session = " & "'" & rstAllSessions!Timetable_Session & "'" & ";", dbFailOnError
            End If

        End If

       '  doesn't do dates with leading 0s?????

       rstAllSessions.MoveNext

    Loop

    rstAllSessions.Close
    dbs.Close


End Sub
古斯塔夫

日期值是数字,因此没有前导零。但是,在连接时,必须为日期值传递格式正确的字符串表达式

"UPDATE Invigilation SET Start_Time = TimeSerial(13,15,0), Notes = 'WP Exam with 1 student' WHERE Invigilation.Exam_Date = #" & Format(rstAllSessions!Timetable_Date, "yyyy\/mm\/dd") & "# AND Invigilation.Exam_Location = '" & rstAllSessions!Location & "' AND  Invigilation.Exam_Session = '" & rstAllSessions!Timetable_Session & "';"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从日期输出中删除前导零

来自分类Dev

从Access VBA中的表查询日期

来自分类Dev

当日期字段中包含时间和日期时,获取两个日期之间的 SQL 数据

来自分类Dev

如何在SQLite表中插入日期和查询日期

来自分类Dev

当按日期净值总计为零时如何从列表中删除

来自分类Dev

当日期关系处于非活动状态时,基于幂轴的数据透视表中的日期筛选会提供错误的筛选器上下文

来自分类Dev

当日期在varchar中时在mysql中过滤月份

来自分类Dev

当日期<当前日期时通过查询手动增加SQL Server数据库中的列值

来自分类Dev

当日期是唯一键时,查询日期范围

来自分类Dev

当日期和时间在单独的列中时,将数据从csv读取到熊猫中

来自分类Dev

在日期和时间中添加前导零

来自分类Dev

使用“sed”或“awk”在文件中添加前导零到日期

来自分类Dev

SQL查询中的错误日期

来自分类Dev

日期时间查询中的错误

来自分类Dev

当日期和时间在单独的列中时,将数据从csv读取到熊猫

来自分类Dev

当日期和时间在单独的列中时,将数据从csv读取到熊猫

来自分类Dev

.NET中带有前导零的短日期和短时间模式

来自分类Dev

当日期高于Google Data Studio中的特定日期时,如何制定规则?

来自分类Dev

ComboBox中的当日日期和将来日期下拉列表

来自分类Dev

当日期字段为空时,从表单插入查询

来自分类Dev

查询以在记录“开始”和“停止”日期的表中查找给定日期的活动记录

来自分类Dev

查询以从仅具有开始日期的表中获取开始和结束日期

来自分类Dev

SQL日期查询中的VBA变量

来自分类Dev

Excel VBA:vlookup在日期范围表中查找日期行

来自分类Dev

Azure表存储中的日期范围查询

来自分类Dev

SQL查询中每个日期的HTML表

来自分类Dev

LINQ查询以选择表中的日期

来自分类Dev

查询中的错误laravel变量以检查日期

来自分类Dev

在R中格式化日期时不带前导零

Related 相关文章

  1. 1

    从日期输出中删除前导零

  2. 2

    从Access VBA中的表查询日期

  3. 3

    当日期字段中包含时间和日期时,获取两个日期之间的 SQL 数据

  4. 4

    如何在SQLite表中插入日期和查询日期

  5. 5

    当按日期净值总计为零时如何从列表中删除

  6. 6

    当日期关系处于非活动状态时,基于幂轴的数据透视表中的日期筛选会提供错误的筛选器上下文

  7. 7

    当日期在varchar中时在mysql中过滤月份

  8. 8

    当日期<当前日期时通过查询手动增加SQL Server数据库中的列值

  9. 9

    当日期是唯一键时,查询日期范围

  10. 10

    当日期和时间在单独的列中时,将数据从csv读取到熊猫中

  11. 11

    在日期和时间中添加前导零

  12. 12

    使用“sed”或“awk”在文件中添加前导零到日期

  13. 13

    SQL查询中的错误日期

  14. 14

    日期时间查询中的错误

  15. 15

    当日期和时间在单独的列中时,将数据从csv读取到熊猫

  16. 16

    当日期和时间在单独的列中时,将数据从csv读取到熊猫

  17. 17

    .NET中带有前导零的短日期和短时间模式

  18. 18

    当日期高于Google Data Studio中的特定日期时,如何制定规则?

  19. 19

    ComboBox中的当日日期和将来日期下拉列表

  20. 20

    当日期字段为空时,从表单插入查询

  21. 21

    查询以在记录“开始”和“停止”日期的表中查找给定日期的活动记录

  22. 22

    查询以从仅具有开始日期的表中获取开始和结束日期

  23. 23

    SQL日期查询中的VBA变量

  24. 24

    Excel VBA:vlookup在日期范围表中查找日期行

  25. 25

    Azure表存储中的日期范围查询

  26. 26

    SQL查询中每个日期的HTML表

  27. 27

    LINQ查询以选择表中的日期

  28. 28

    查询中的错误laravel变量以检查日期

  29. 29

    在R中格式化日期时不带前导零

热门标签

归档