2013-06-04 24 views
0

我想根據需要動態地在窗體上創建控件,因此我使用了CreateControl方法。在Access VBA中使用CreateControl時類型不匹配

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

在下面的代碼線之上,當我嘗試編譯項目「CreateControl」突出顯示,一個彈出框指示有一個類型不匹配。 DateControl被聲明爲一個控件。我也嘗試將其聲明爲Variant,並且仍然收到相同的錯誤。另一次,我沒有使用數組,然後再次嘗試它,仍然是相同的錯誤。任何想法可能是錯誤的?

謝謝。

+0

你提到'DateControl',但你的代碼說'DateControls'。你的VBA模塊的頂部是否有'Option Explicit'?如果沒有,你應該把它放在那裏。 –

+0

是的,我確實有Option Explicit,並且在我的代碼中拼寫正確。 – jaromey

回答

0

類型不匹配位於CreateControl的第一個參數上。它必須是一個字符串。這會讓你通過類型不匹配錯誤:

CreateControl(Reports!Comments_R.Name, ... 

但是,您還有其他兩個問題。

  • 由於控制是一個對象,你需要在你 賦值語句使用Set

  • 看起來您想將控件添加到 報表。如果是這樣,請改用CreateReportControl。