2013-06-28 74 views
1

下面的代碼將格式爲「Long Time」的數據類型爲「Date/Time」的列添加到.mdb文件的訪問表中。但如果我用accdb替換mdb文件,那麼添加列將不起作用。所以我想要替代的代碼可以添加格式爲「長時間」的數據類型「日期/時間」列。代碼爲accdb文件提供錯誤

我用

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") 
+0

你是什麼意思的「不會工作」?你有錯誤嗎?如果是這樣,那麼錯誤消息會說什麼以及哪一行代碼會觸發它? –

回答

2

檢查項目的參考。如果您使用的是基準

Microsoft DAO 3.6對象庫

(它出現在引用列表中的「道」),那麼你的代碼將工作爲.mdb文件,但不是爲.accdb文件。您可以同時支持文件類型沒有大的改動你的代碼,如果你只是刪除該參考,並

的Microsoft Office 14.0 Access數據庫引擎對象庫替換它

(出現在引用列表, 「Microsoft.Office.Interop.Access.Dao」)。

+0

我一直在尋找這個。你的建議幫了我很大的忙,謝謝。 –

相關問題