构建分层记录集

以下示例演示如何通过使用数据整形语法为父、子级和孙子 记录集来构建没有基础数据源的分层 Recordset。

若要创建分层 Recordset,您必须指定 Microsoft 数据定形服务 (OLE DB 的 ADO 服务提供程序)(MSDataShape),并且可以在 Connection 对象的 Open 方法的连接字符串参数中指定数据提供者值为 NONE。 有关详细信息,请参阅 数据整形所需的提供程序。

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  

一旦 记录集 被捏造,就可以填充、操作或保存到文件中。

另请参阅

访问分层记录集中的行
正式形状语法
数据整形所需的提供程序
形状附加子句
常规形状命令