访问 2007 运行时错误 13 类型不匹配



我在正在创建的数据库中使用以下代码行。

Dim yr As String
yr = Format(Date, "yy")

该行代码是从另一个工作正常的数据库中复制的。但是,在此新数据库中,格式行会引发错误 - 运行时错误 13:类型不匹配。我看不出问题是什么。

就像Lee Mac所说,在VBA中,函数可以在不同的上下文中重新声明。这些不同的函数可以有不同的输入参数和不同的返回值。如果其中一个参数的类型错误,或者返回了错误类型的参数,则这可能会导致类型不匹配。此外,这可能会导致意外行为。

唯一可以在您共享的代码中重新声明的函数是Format函数,因为Date也是一种数据类型,并且您不能从 VBA 声明与数据类型同名的函数。

您可以使用函数的库和名称来解决此问题:

yr = VBA.Format(Date, "yy")

或者,更具体地说,您可以使用函数的库、类和名称(不是必需的,因为 VBA 库只包含一个Format函数):

yr = VBA.Strings.Format(Date, "yy")

可以使用对象浏览器 (F2) 查找函数的全名以及任何可能的冲突。输入格式既会显示VBA.Format,也可能显示另一个具有该名称的公共函数。

最新更新