2011-07-14 34 views
2

我想创建一个Access表,其中一些字段需要保存结构变量甚至另一个数据表。这是可能的,我将如何做到这一点?我可以在下面创建内存数据表,但不知道如何将其保存/读取到我的Access MDB。 - (ItemInfo和订单信息的结构和BOMDatatable是另一个数据表):如何将结构保存到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

如果你真的不希望将数据保存到其他字段/表(见问题托尼·托斯注释),你可以只需将整个DataTable序列化为XMLJSON并将其保存为备注字段中的字符串。
当然,您不能直接从DataTable查询值,然后...您必须从Access表中获取序列化的字符串,然后将其反序列化为DataTable并从中获取值。也许这对你来说是一种破坏行为。

相关问题