【问题标题】:How to change date format in VBA to dd mm yy?如何将 VBA 中的日期格式更改为 dd mm yy?
【发布时间】:2019-07-30 08:11:52
【问题描述】:

所以,我有一个表格,主要目的是显示两个日期之间已完成的案例。用户可以从 datepicker 中选择两个日期。格式是 EU,01/03/2019,问题是在 VBA 中格式是 US,所以它返回错误的值。

我尝试了很多 Format(date, dd.... 等等,但到目前为止没有成功。还尝试了很多来自网络和我的 VBA 书的解决方案。但是我缺少一些东西. 现在我被卡住了,不知道如何继续。=)

Private Sub btnCalculate_Click()

    On Error GoTo myErr

    Dim strsql As String
    Dim rs As dao.Recordset
    Dim x, i As Integer

    Me.btnCalculate.Enabled = False

    strsql = "SELECT Activity.DateDone, Activity.Job1 AS a0, Activity.Job2 AS a1, [Job1] Or [Job2] AS a2, Activity.Job3 AS a3, IIf([canceled],1,IIf([moved],2,0)) AS x " & _
        "FROM Activity " & _
        "WHERE Activity.DateDone Between #" & Replace(Me.txtDate1, ".", "/") & "# And #" & Replace(Me.txtDate2, ".", "/") & "#;"
    Set rs = CurrentDb.OpenRecordset(strsql)
    For i = 0 To 2
        For x = 0 To 3
            Me.Controls("txt" & i & x) = 0
        Next x
    Next i
    rs.MoveFirst
    Do While Not rs.EOF
        For i = 0 To 3
            If rs("a" & i) Then Me.Controls("txt" & rs("x") & i) = Me.Controls("txt" & rs("x") & i) + 1
        Next i
        i = i + 1
        rs.MoveNext
    Loop


myExit:
    Me.btnCalculate.Enabled = True
    Exit Sub

myErr:
    MsgBox Err.Description
    GoTo myExit

End Sub

这段代码给我的结果是所有年份的生产力,而不是日期之间,假设它改变了日期和月份,所以我希望有人看到那里的解决方案,thnx =)

【问题讨论】:

    标签: vba date ms-access


    【解决方案1】:

    使用格式

    "WHERE Activity.DateDone Between #" & Format(Me!txtDate1.Value, "yyyy\/mm\/dd") & "# And #" & Format(Me!txtDate2.Value, "yyyy\/mm\/dd") & "#;"
    

    【讨论】:

    • 非常感谢!我一直在使用它错误,但这解决了它!很多thanx =)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    • 2021-01-19
    • 2011-11-21
    相关资源
    最近更新 更多