【问题标题】:Invalid procedure call or argument with DateAdd VBA MSACCESSDateAdd VBA MSACCESS 的过程调用或参数无效
【发布时间】:2016-05-11 00:36:26
【问题描述】:

尝试创建一个函数,将 100 年添加到不正确存储的日期以更正它们,即 2016 年 5 月 10 日存储 1916 年 5 月 10 日,需要转换为 2016 年 5 月 10 日。我写的函数在包含 DateAdd 的那一行失败了。

Function CORRECTDATE(INPUTDATE As Date) As Date

    If IsDate(INPUTDATE) Then

        If INPUTDATE >= #1/1/1900# Then
          CORRECTDATE = DateAdd(yyyy, 100, INPUTDATE)
        Else
          CORRECTDATE = INPUTDATE
        End If

    Else
        CORRECTDATE = Null
    End If

End Function

【问题讨论】:

  • 另外,您的代码不安全,因为它不检查上限。每次运行它都会增加 +100 年,因为每个 INPUTDATE 都在 1900 年 1 月 1 日之后。
  • 我一得到正确的输出就看到了,谢谢

标签: vba ms-access ms-access-2010


【解决方案1】:

yyyy 周围需要引号:

CORRECTDATE = DateAdd("yyyy", 100, INPUTDATE)

【讨论】:

  • 谢谢,这在文档中很清楚,但我想今天早上我在森林里太深了 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-11
  • 2016-07-21
相关资源
最近更新 更多