Ms access 在Access VBA中使用CreateControl时类型不匹配
我试图根据需要在表单上动态创建控件,因此使用了CreateControl方法Ms access 在Access VBA中使用CreateControl时类型不匹配,ms-access,vba,Ms Access,Vba,我试图根据需要在表单上动态创建控件,因此使用了CreateControl方法 DateControls(i) = CreateControl(Reports!Comments_R, acTextBox, acDetail, , , TopValue, 0, 5400, 1440) 在上面下面的代码行中,当我尝试编译项目时,“CreateControl”将突出显示,并且弹出框指示存在类型不匹配。DateControl被声明为控件。我还尝试将其声明为变体,但仍然收到相同的错误。还有一次,我没有使用
DateControls(i) = CreateControl(Reports!Comments_R, acTextBox, acDetail, , , TopValue, 0, 5400, 1440)
在上面下面的代码行中,当我尝试编译项目时,“CreateControl”将突出显示,并且弹出框指示存在类型不匹配。DateControl被声明为控件。我还尝试将其声明为变体,但仍然收到相同的错误。还有一次,我没有使用数组就尝试了它,但还是出现了同样的错误。有没有关于什么地方可能出错的想法
谢谢。类型不匹配位于CreateControl的第一个参数上。它一定是一根绳子。这将使您克服类型不匹配错误:
CreateControl(Reports!Comments_R.Name, ...
但是,您还有两个问题
- 由于控件是一个对象,因此需要在 分配声明
- 看起来您想将控件添加到 报告。如果是,请改用CreateReportControl
DateControl
,但您的代码却说DateControls
。在VBA模块的顶部是否有选项Explicit
?如果没有,你应该把它放在那里。是的,我有Option Explicit,变量在我的代码中拼写正确。