1

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

1 回答 1

2

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

Microsoft DAO 3.6 对象库

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

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

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

于 2013-06-28T09:39:08.500 回答