创建分层记录集

创建分层记录集

问题描述:

如何在不使用MSDATASHAPE提供程序的SHAPE命令的情况下创建分层记录集?创建分层记录集

据我所知,没有直接的方法可以通过对象模型来实现,即不使用数据整形服务(Provider)和Recordset.Open方法。

正如文档所述,尽管您仍然可以使用它来制作分层记录集。以下是给出的示例:

Dim cn As New ADODB.Connection 
Dim rsCustomers As New ADODB.Recordset 

cn.Open "Provider=MSDataShape;Data Provider=NONE;" 

strShape = _ 
"SHAPE APPEND NEW adInteger AS CustID," & _ 
      " NEW adChar(25) AS FirstName," & _ 
      " NEW adChar(25) AS LastName," & _ 
      " NEW adChar(12) AS SSN," & _ 
      " NEW adChar(50) AS Address," & _ 
     " ((SHAPE APPEND NEW adChar(80) AS VIN_NO," & _ 
         " NEW adInteger AS CustID," & _ 
         " NEW adChar(20) AS BodyColor, " & _ 
        " ((SHAPE APPEND NEW adChar(80) AS VIN_NO," & _ 
            " NEW adChar(20) AS Make, " & _ 
            " NEW adChar(20) AS Model," & _ 
            " NEW adChar(4) AS Year) " & _ 
         " AS VINS RELATE VIN_NO TO VIN_NO))" & _ 
      " AS Vehicles RELATE CustID TO CustID) " 

rsCustomers.Open strShape, cn, adOpenStatic, adLockOptimistic, -1 

您应该在MSDN Library CD文档中找到该权限。