代码为accdb文件提供错误

时间:2013-06-28 07:28:34

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

下面的代码将一列数据类型为“Date / Time”的格式为“Long Time”添加到.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")

1 个答案:

答案 0 :(得分:2)

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

  

Microsoft DAO 3.6对象库

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

,则可以在不对代码进行重大修改的情况下支持这两种文件类型
  

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

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