1

我有一个TForm基于 table 的表格T。中有一个是/否字段ChoiceT要将此字段添加到TForm,我在表单中添加了一个复选框ChoiceCheck。我试图ChoiceCheck在另一个类中获取 ' 值,SQLPreparer我正在使用它来基于以下值构造 SQL 语句TForm

Private Function controlToValueStr(ctrl As Control) As String

If ctrl.name = "ChoiceCheck" Then
    controlToValueStr = ctrl.Value
Else
    'return the control's value wrapped in quote marks
    controlToValueStr = quoteWrap(ctrl.Value)
End If

End Function

但是,当我调用SQLPreparer.controlToValueStr()并传递时ChoiceCheck,该ctrl.Value语句给了我这个错误:

Run-time error '438':
Object doesn't support this property or method

我能够为自己获取类中的值,TForm如下所示:

Me.ChoiceCheck.Value

所有字符串类型的文本框控件都适用于这两种情况。我也遇到了输入T为 Long 的文本框的问题。

4

1 回答 1

1

问题是我命名了label ChoiceCheck,而不是复选框本身。文本框也存在同样的问题。在这两种情况下,更改设计视图中的控件名称以匹配 VBA 代码解决了该问题。

于 2013-07-11T16:04:51.573 回答