ms访问 - 打开表单中的错误2136或设计视图中的报告

时间:2016-03-11 07:34:47

标签: vba ms-access

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

Me.Borderstyle=3

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

  

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

调试引导我使用bordertyle代码。

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

  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

赞美帮助。

1 个答案:

答案 0 :(得分:1)

错误消息非常清楚 - 您无法在“表单”视图中设置此属性,仅在“设计”视图中设置。

由于某些原因,这些信息在Form.Borderstyle的帮助文件中丢失了 - 它在旧版本中显示为quoted here

  

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

例如,它是相同的Form.CloseButton属性,此处help file提到它。

IMO有意义的是,当表单打开时,您无法更改这些结构形式属性。

关于你的要求:

  

我有一个表单在一个案例中充当子表单,在另一个案例中充当对话框。

Subforms无论如何都没有边框,所以为什么不简单地将边框样式设置为" Dialog"留在那?