在Access VBA中使用CreateControl时键入不匹配

时间:2013-06-04 19:39:36

标签: vba ms-access access-vba

我正在尝试根据需要在表单上动态创建控件,因此我使用了CreateControl方法。

DateControls(i) = CreateControl(Reports!Comments_R, acTextBox, acDetail, , , TopValue, 0, 5400, 1440)

在上面的代码行中,当我尝试编译项目时,“CreateControl”会突出显示,弹出框表示存在类型不匹配。 DateControl声明为Control。我也试过将它声明为Variant,但我仍然收到同样的错误。另一次我尝试不使用数组再次,仍然是同样的错误。关于什么可能出错的任何想法?

谢谢。

1 个答案:

答案 0 :(得分:0)

类型不匹配是CreateControl的第一个参数。它必须是一个字符串。这将使您超越类型不匹配错误:

    CreateControl(Reports!Comments_R.Name, ...

但是,您还有其他两个问题。

  • 由于控件是一个对象,因此您需要使用Set 转让声明。

  • 看起来您想要将控件添加到 报告。如果是这样,请改用CreateReportControl。