Создать иерархический набор записей - PullRequest
0 голосов
/ 08 апреля 2011

Как мы можем создать иерархический набор записей без использования команды SHAPE поставщика MSDATASHAPE?

1 Ответ

2 голосов
/ 08 апреля 2011

Насколько я могу определить, нет прямого способа сделать это с помощью объектной модели, то есть без использования службы формирования данных (поставщик) и метода 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.

...