VB2010でAccess2007に添付ファイル型のフィールドを持ったテーブルを作成したい

解決


MT  2012-01-15 00:52:40  No: 103196  IP: [192.*.*.*]

VB2010を使用しております。
Access2007に添付ファイル型のフィールドを持ったテーブルを作成したいので
下記のようなコードを書きました。

Dim Cn2 As New OleDb.OleDbConnection()
Cn2.ConnectionString = My.Settings.dbConnectionString
Dim SQLCm As OleDb.OleDbCommand = Cn2.CreateCommand
SQLCm.CommandText = "create table [T_Backup] (aaa ●●)"

Cn2.Open()
SQLCm.ExecuteNonQuery()

●の部分は、添付ファイルのデータ型を記載したいのですが、
何を記載すれば良いのか不明です。
あちこちのサイトを探し回りましたが、欲しい情報が見つかりません。
fileやattachment、itemなどそれらしい名前を記載しましたがすべて駄目でした。

ちなみに、INTやchar(50)などと記載すれば問題なく作成できます。
そもそも添付ファイル型で作成するのは可能でしょうか?

編集 削除
魔界の仮面弁士  2012-01-15 05:36:51  No: 103197  IP: [192.*.*.*]

複数値を持つフィールド型については、
現状、JET SQL からの作成には対応していないはずです。

> そもそも添付ファイル型で作成するのは可能でしょうか?
DAO の CreateField メソッドで dbAttachment を指定してみてください。

編集 削除
MT  2012-01-15 11:47:11  No: 103198  IP: [192.*.*.*]

魔界の仮面弁士様

迅速なご回答ありがとうございます。
アドバイス頂きました内容で下記の通りソースを記述したら思い通りの処理ができました。
これでようやく先の処理に進めます。本当にありがとうございました。

Dim de As New DBEngine()
Dim db As Database
Dim tdf As TableDef

db = de.OpenDatabase("C:\db.accdb", False)
tdf = db.CreateTableDef("T_Backup")
tdf.Fields.Append(tdf.CreateField("file", DataTypeEnum.dbAttachment))

db.TableDefs.Append(tdf)

編集 削除