1

我有这样的代码:

Dim strResponses As String
strResponses = Forms!frmResponses.QstnID.OpenArgs
If Len(strResponses) > 0 Then
     Me![QstnID].DefaultValue = Me.OpenArgs
  End If

当我运行它时,它会给出错误 438。有人可以帮我知道错误在哪里吗?

4

3 回答 3

1

当然应该是:

 strResponses = Forms!frmResponses.OpenArgs

或者

 strResponses = Me.OpenArgs

只有表单以及最近的版本中的报告具有 OpenArgs 属性,因此,我想会出现错误“对象不支持此属性或方法”。

于 2010-05-17T09:56:11.457 回答
0

错误 438 是否在线上发生:

Me![QstnID].DefaultValue = Me.OpenArgs

如果作为测试,您尝试设置Me![QstnID].DefaultValue其他内容会发生什么?例如

Me![QstnID].DefaultValue=42

那么,问题肯定与 OpenArgs 有关吗?

于 2010-05-17T10:06:42.747 回答
0

要知道哪一行是您的错误,您可以执行以下操作

  1. 创建一个 myError labal
  2. 添加一个 'on error goto myError' 子句
  3. 给你的代码行编号
  4. 使用 'erl' 值显示错误的行号

您还可以使用 MZ-Tools for VBA 加载项,一旦正确设置参数,只需单击几下即可为您完成此操作。您还可以检查这个更完整的答案:ms-access-vba-and-error-handling

于 2010-05-17T19:20:47.053 回答