Access 2007 RunTime错误13类型不匹配

时间:2018-03-15 17:36:37

标签: access-vba

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

Dim yr As String

yr = Format(Date, "yy")

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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

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

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