C#_ADOXでMDBファイル作成時、メモ型設定
お疲れ様です。
質問をお願い致します。
Os:WindowsXp
Access:Access2003
IDE:VidualStudio2008
C#_ADOXでMDBファイルの作成を行っております。
200桁以上の大きい桁数のデータを扱う列が欲しい為、列にメモ型の指定をして、TBLを作成したいと思っております。
メモ型を指定する為、データタイプを以下のように"ADOX.DataTypeEnum.adLongVarWChar"としておりますが、出力されたMDBファイルを確認すると、テキストになっております。
こちらのサイト様を参考にさせて頂いたのですが、設定方法が違うのでしょうか?
http://www.accessclub.jp/ado/adox/06.html
また、メモ型にした際に、400桁と指定することは可能でしょうか?
//メイン処理
void main()
{
string DBSource = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\DB\\DB.MDB; Jet OLEDB:Engine Type=5";
// データソースの作成を行う
ADOX.CatalogClass catalog = new ADOX.CatalogClass();
catalog.Create(DBSource);
CreateTblClass createTblClass = new CreateTblClass();
createTblClass .CreateTbl(catalog);
}
//MDBファイル、テーブルの作成を行う
public void CreateTbl(CatalogClass catalog)
{
// テーブルを作成する(TEST_TBL)
ADOX.TableClass table = new ADOX.TableClass();
table.ParentCatalog = catalog;
table.Name = "TEST_TBL";
/*TEST_CD列は、想定通り、テキスト型の8桁で列が作成できます*/
// テストコード列の作成(TEST_CD)
ADOX.ColumnClass columnTestCd = new ADOX.ColumnClass();
columnTestCd.ParentCatalog = catalog;
//列名を設定
columnTestCd.Name = "TEST_CD";
//桁数を設定
columnTestCd.DefinedSize = 8;
//型を設定
table.Columns.Append(columnTestCd, ADOX.DataTypeEnum.adVarChar, columnTestCd.DefinedSize);
/*問題のメモ型列*/
// 備考列の作成(BIKOU)
ADOX.ColumnClass columnBikou = new ADOX.ColumnClass();
columnBikou.ParentCatalog = catalog;
//列名を設定
columnBikou.Name = "BIKOU";
//桁数を設定 ※「フィールドサイズが長すぎます」とエラーになり400に設定できない為、200と暫定的に設定しております!
columnBikou.DefinedSize = 200;
//型を設定
table.Columns.Append(columnItemTypeDesc, ADOX.DataTypeEnum.adLongVarWChar, columnItemTypeDesc.DefinedSize);
//プライマリーキーの設定
table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "TEST_CD", "", "");
catalog.Tables.Append(table);
}
大変申し訳ないのですが、どうぞ、宜しくお願い致します。
お礼
エイディーオーエックスですね!ありがとうございました。