【问题标题】:error 2136 in ms access-open form or report in design view设计视图中的 ms 访问打开表单或报告中的错误 2136
【发布时间】:2016-03-11 18:38:55
【问题描述】:

我有一个表单,在一种情况下充当子表单,在另一种情况下充当对话框。为此,我使用了一个布尔值。当它为真时,我希望表单作为对话框打开。为此,我在if 条件中使用了以下语句:

Me.Borderstyle=3

但在运行应用程序时,它会给出错误 2136:

在设计视图中打开表单或报表

调试使我找到了边框样式代码。

可能是什么原因?是不是不能通过代码设置borderstyle? 如果我评论这部分,表单可以正常工作......只是如果它看起来不像对话框,它在视觉上并不吸引人。代码如下:

  Private Sub Form_Load()
    If chk = True Then
    WindowS Me, 2, 2, 90, 70
    Me.first.Locked = True
    Me.second.Locked = True
    Me.BorderStyle = 3
    Else

       WindowS Me ' resize window and controls to current screen resolution
       Me.cmdCLOSE.Visible = False
    End If
    End Sub

感谢您的帮助。

【问题讨论】:

  • 请发布包含Me.Borderstyle=3的完整VBA子或函数。

标签: vba ms-access


【解决方案1】:

错误信息非常清楚 - 您不能在表单视图中设置此属性,只能在设计视图中设置。

由于某种原因,此信息在 Form.Borderstyle 的帮助文件中丢失了 - 它存在于旧版本中,如 quoted here

来自 Access 97 VBA 帮助文件中的 BorderStyle 属性:
“您可以使用表单的属性表、宏或 Visual Basic仅在表单设计视图中为表单设置 BorderStyle 属性。”

例如,这也是一样的。 Form.CloseButton 属性,这里 help file 提到了它。

IMO 有道理,当表单打开时,您不能更改这样的结构表单属性。


根据您的要求:

我有一个表单,在一种情况下充当子表单,在另一种情况下充当对话框。

子窗体没有边框,为什么不简单地将边框样式设置为“对话框”并保留它呢?

【讨论】:

  • 嗨安德烈...感谢您的回复...应该有同样的想法...现在完美运行...感谢您的帮助
猜你喜欢
  • 2016-06-22
  • 1970-01-01
  • 2013-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多