USING语句的VBA是什么

时间:2014-06-02 10:15:18

标签: vba access-vba using-statement using-directives

在csharp或vb.net中,我们使用using语句,原因我们知道:可以打开数据库并自动关闭它而无需明确写入。 我想在VBA

中做同样的事情
  1. 怎么做?
  2. VBA中是否所有VB.NET语句/关键字都可用?
  3. 如何判断某个语句在VBA中是否已知?是否有所有VBA语句/关键字/运算符的库(glosary)?
  4. C#

      using(var db=new MyDbContext()){
       //do work here
      }
    

    vb.net

        Using s = New MyDbContext()
         '--..do work here
        End Using
    

2 个答案:

答案 0 :(得分:2)

回答你的第一个问题,正如你所暗示的,Using只是在实现Dispose()接口的对象实例上调用IDisposable的语法糖。

相当于

Dim s as MyDbContext
Try
   s = New MyDbContext()
   // ...
Finally
   s.Dispose()
End Try

由于VBA不支持Using糖,并且在没有结构化Try..Catch异常处理的情况下,您需要在所有路径上明确调用Dispose()它控制对象的生命周期(在您的情况下为MyDbContext)。在这种情况下,您也可以使用.Close()

答案 1 :(得分:0)

没有VBA等同于Using语句。

VBA developer documentation提供样本甚至可下载的VBA文档的离线版本。