共用方式為


構建階層式記錄集

下列範例示範如何使用數據成形文法定義父、子及孫 Recordset,以製造不含基礎數據源的階層式 Recordset。

若要建立階層式 Recordset,您必須指定用於 OLE DB 的 Microsoft Data Shaping Service (MSDataShape),而且您可以在 Open 方法的 Connection 物件的連接字符串參數中,明確指定 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  

一旦建立 Recordset,就可以填充、操作或保存至檔案。

另請參閱

存取階層式記錄集中的數據列
正式形狀語法
資料塑形的必需提供者
Shape 附加 子句
一般形狀命令