1

以下のコードは、.mdb ファイルのアクセス テーブルに、"Long Time" 形式のデータ型 "Date/Time" の列を追加します。しかし、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")
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 に答える