- - PR -
プロパティ 'Item' は 'ReadOnly' です。
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-01-19 16:23
るぱんです。
1.該当する行(★)をコメントアウトの上、実行 2.出来上がったMDBのスキーマがNullを許す 以上の場合でコメントアウトのみで実行可能。 上記の方法でNullを許さない設定だったの場合、 →カラムを追加する方法を整理して書き直す。 のが良いでしょう。 個人的には後に書いたやり方を最初からするようにします。 時間と成果物の精度を考慮して作ってみてください。 以上 |
|
投稿日時: 2004-01-19 16:28
With cat.Tables(strTable).Columns
Dim col As DataColumn = .Item("DataStorage_Id") col.AutoIncrement = True End With だと、どうです? #っつうか、DataColumn.Propertiesというプロパティって、ある? コレクションを直接いじるのは、別のスレッドでもありましたが、あまり良くないみたい。 ↓おお!なるほど。MSDN確認 [ メッセージ編集済み 編集者: Jitta 編集日時 2004-01-19 16:46 ] |
|
投稿日時: 2004-01-19 16:39
# ADOX は詳しくないのですが。。。
参考にしたコードは恐らく VB6.0 以前のコードだと思われますので、 以前の VB では"既定メンバ"というものが使え、ADOX.Property#Value プロパティは それになっているため、".Value"を省略することができたのですが、 .NET では既定メンバを使用することはできない(多分^^;)ので、 .Item("DataStorage_Id").Properties("Nullable").Value = True と記述する必要があるのだと思われます。 [ メッセージ編集済み 編集者: 架空兎 編集日時 2004-01-19 16:47 ] [ メッセージ編集済み 編集者: 架空兎 編集日時 2004-01-19 17:03 ] |
|
投稿日時: 2004-01-19 16:53
http://homepage1.nifty.com/MADIA/vb/vb_bbs/200209_02090023.html
こんな物を発見! |
|
投稿日時: 2004-01-19 17:16
>こんな物を発見!
ありがとうございます。 下記のようにコードを修正して、解決いたしました。 ' 【DataStorage】テーブル作成 tbl = New ADOX.Table strTable = "DataStorage" tbl.Name = strTable cat.Tables.Append(tbl) Dim col As New ADOX.Column col.Name = "DataStorage_Id" col.Type = ADOX.DataTypeEnum.adInteger col.ParentCatalog = cat col.Properties("Autoincrement").Value = True tbl.Columns.Append(col) col = Nothing With cat.Tables(strTable).Columns 'col = .Item("DataStorage_Id") 'col.AutoIncrement = True '.Item("DataStorage_Id").Properties("AutoIncrement").Value = True '.Append("DataStorage_Id", ADOX.DataTypeEnum.adInteger) .Append("Filename", ADOX.DataTypeEnum.adWChar, 255) .Append("DefaultOrder_Id", ADOX.DataTypeEnum.adInteger) .Append("Category_Id", ADOX.DataTypeEnum.adSmallInt) .Append("SubCategory_Id", ADOX.DataTypeEnum.adSmallInt) '.Append("Search_Keys", ADOX.DataTypeEnum.adLongVarWChar) End With col = New ADOX.Column col.Name = "Search_Keys" col.Type = ADOX.DataTypeEnum.adLongVarWChar col.ParentCatalog = cat col.Attributes = ADOX.ColumnAttributesEnum.adColNullable tbl.Columns.Append(col) col = Nothing tbl = Nothing Value が省略できなくなってたってことと、Atributesで設定すべき項目もあったということが原因だったかと。。。 皆様のご協力、大変感謝いたします。 |