【问题标题】:Code gives error for accdb files代码给出了 accdb 文件的错误
【发布时间】:2013-06-28 07:28:33
【问题描述】:

下面的代码将数据类型为“日期/时间”的列添加到 .mdb 文件的访问表中,格式为“长时间”。但是如果我用 accdb 替换 mdb 文件,那么添加列将不起作用。所以我想要替代代码,它可以添加数据类型为“日期/时间”的列,格式为“长时间”。

我使用的代码

Dim db As Database
Dim tdf As TableDef
Dim fld As Field

Dim JetEngine As New dao.DBEngine
Dim p 
db = JetEngine.OpenDatabase("D:\Employee.accdb")

tdf = db.TableDefs("detail")
fld = tdf.CreateField()
With fld
     .Name = "MyDateTime"
     .Type = 8
      .Size = 8
End With

tdf.Fields.Append(fld)
p = fld.CreateProperty("Format", 10, "Long Time")
fld.Properties.Append(p)

我收到类似“无法识别的数据库格式 'D:\Employee.accdb'”的错误。代码

db = JetEngine.OpenDatabase("D:\Employee.accdb")

【问题讨论】:

  • “行不通”是什么意思?你有错误吗?如果是这样,那么错误消息说明了什么以及哪一行代码触发了它?

标签: vb.net ms-access datetime oledb dao


【解决方案1】:

检查您的项目的参考资料。如果您使用的是参考

Microsoft DAO 3.6 对象库

(在引用列表中显示为“DAO”),那么您的代码将适用于 .mdb 文件,但不适用于 .accdb 文件。如果您只需删除该引用并将其替换为

,则无需对代码进行重大修改即可支持这两种文件类型

Microsoft Office 14.0 Access 数据库引擎对象库

(在参考列表中显示为“Microsoft.Office.Interop.Access.Dao”)。

【讨论】:

  • 我一直在寻找这个。您的建议对我帮助很大。谢谢..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-21
  • 1970-01-01
  • 2014-04-06
相关资源
最近更新 更多