ms-access - USING 语句的 VBA 是什么

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

在 csharp 或 vb.net 中,我们使用 using 语句的原因众所周知:无需显式编写即可自动打开和关闭数据库。 我想在 VBA

中做同样的事情
  1. 怎么做?
  2. 所有 VB.NET 语句/关键字/都可以在 VBA 中使用吗?
  3. 如何判断给定的语句在 VBA 中是否已知?是否有所有 VBA 语句/关键字/运算符的库(词汇表)?

c#

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

vb.net

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

最佳答案

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

相当于

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

由于 VBA 不支持 Using 糖,并且在缺乏结构化 Try..Catch 异常处理的情况下,您将需要在控制对象生命周期的所有路径上显式调用 Dispose() (在您的情况下是 MyDbContext )。在这种情况下,您也可能刚刚使用过 .Close()

关于ms-access - USING 语句的 VBA 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23992168/

相关文章:

forms - 如何在 MS Access VBA 中检索屏幕大小/分辨率以调整表单大小

vba - 在 VBA Access 中使用 .text 和 .value 之间的区别

vba - Microsoft Access,在数据表子表单中自动生成列

vba - 如何在VBA上按单元格内容获取平均值

vba - 如何修复 "not responding"?

c# - 带有 using 语句的 SqlCommand

mysql - Microsoft Access sql,计算用户选择的值出现的次数,显示相关值

sql - 将所有MS Access SQL查询导出到文本文件

c# - Using(.....){...} 是什么意思

c# - 在使用 block 或使用 block 声明中声明 IDisposable 成员的区别?