2011-07-14 11 views
2

構造体変数や別のデータテーブルを保持する必要のあるフィールドがあるAccessテーブルを作成したいとします。これは可能なのですか?どうすればいいですか?私は以下のメモリ内のデータテーブルを作成できますが、Access MDBに保存/読み込む方法はわかりません。 - (ItemInfoとORDERINFOが構造体であるとBOMDatatableが別のDataTableです):構造体をAccessデータベースに保存する方法

 dtPackoutPlan = New DataTable 
     With dtPackoutPlan 
      .Columns.Add("OrderNumber", GetType(String)) 
      .Columns.Add("LineNumber", GetType(Integer)) 
      .Columns.Add("ItemNumber", GetType(String)) 
      .Columns.Add("WorkCenter", GetType(String)) 
      .Columns.Add("PromisedShipDate", GetType(Date)) 
      .Columns.Add("PackOutDate", GetType(Date)) 
      .Columns.Add("DeliveryDate", GetType(Date)) 
      .Columns.Add("PackOutSequence", GetType(Integer)) 
      .Columns.Add("Priority", GetType(Integer)) 
      .Columns.Add("Status", GetType(String)) 
      .Columns.Add("OrderedQuantity", GetType(Single)) 
      .Columns.Add("ActualPackOutDate", GetType(Date)) 
      .Columns.Add("ActualPackOutDateString", GetType(String)) 
      .Columns.Add("SplitFlag", GetType(String)) 
      .Columns.Add("ItemInfo", GetType(ItemInfo)) 
      .Columns.Add("BOMDatatable", GetType(DataTable)) 
      .Columns.Add("OrderInfo", GetType(OrderInfo)) 
     End With 
+3

OLEオブジェクトデータを使用すると、そうすることができます。しかし、次の質問はなぜですか?なぜItemInfoとOrderInfoを追加のフィールドやテーブルとして配置しないのですか? Accessがこれをうまくやってくれると、なぜあなたは余分なコーディングをしたいのですか? –

答えて

0

あなたが本当に追加フィールド/テーブルにデータを保存しない場合(質問の下のトニーToews'はコメントを参照してください)、あなたは可能性がありDataTable全体をXMLまたはJSONにシリアル化して、メモ欄に文字列として保存してください。
もちろん、DataTableから値を直接照会することはできません。シリアル化された文字列をAccessテーブルから取り出し、DataTableに逆シリアル化して値を取得する必要があります。たぶんそれはあなたのための売り手です。

関連する問題