Microsoft Access VBA无效使用属性错误

Microsoft Access VBA无效使用属性错误,vba,ms-access,ms-access-2013,Vba,Ms Access,Ms Access 2013,所以,我有一个类,我调用一些类,在这些类中检查数据。它们返回一个名为Failcase的错误类。现在,当我第一次将错误设置为true时,我得到一个错误 错误状态为: 对属性的无效使用 我使用: Microsoft Access 2013 VBA 它是这样工作的 Dim fail As New Failcase fail.Success = True 您使用OOP时没有创建类为Failcase的新对象。在模块中尝试以下操作: Option Explicit Public Sub TestMe

所以,我有一个类,我调用一些类,在这些类中检查数据。它们返回一个名为Failcase的错误类。现在,当我第一次将错误设置为true时,我得到一个错误

错误状态为:

对属性的无效使用


我使用:

  • Microsoft Access 2013
  • VBA
    • 它是这样工作的

      Dim fail As New Failcase
      fail.Success = True
      

      您使用OOP时没有创建类为
      Failcase
      的新对象。在模块中尝试以下操作:

      Option Explicit
      
      Public Sub TestMe()
      
          Dim fail As New failcase
          fail.Success = True
          Debug.Print fail.Success
      
      End Sub
      
      在课堂上:

      Option Explicit
      
      Private m_bSuccess As Boolean
      
      Public Property Get Success() As Boolean
      
          Success = m_bSuccess
      
      End Property
      
      Public Property Let Success(ByVal bNewValue As Boolean)
      
          m_bSuccess = bNewValue
      
      End Property
      
      因此,您将实现封装。有了它,您可以为访问您的财产设置更多的规则-

      上面的代码就是一个示例。这是另一个延迟绑定的示例,执行相同的操作:

      Public Sub TestLateBinding()
      
          Dim fail As Object
          Set fail = New failcase
          fail.Success = True
          Debug.Print fail.Success
      
      End Sub
      

      早绑定和晚绑定有不同的优缺点。

      因为这不是一个高流量的问题,我要说声谢谢。这确实是一个明显错误的例子。
      Option Explicit
      
      Private m_bSuccess As Boolean
      
      Public Property Get Success() As Boolean
      
          Success = m_bSuccess
      
      End Property
      
      Public Property Let Success(ByVal bNewValue As Boolean)
      
          m_bSuccess = bNewValue
      
      End Property
      
      Public Sub TestLateBinding()
      
          Dim fail As Object
          Set fail = New failcase
          fail.Success = True
          Debug.Print fail.Success
      
      End Sub