Funcionamiento de los comandos sin parámetros

En el caso de los comandos no parametrizados, se ejecutan todos los comandos de proveedor y los objetos Recordsets se crean durante la ejecución del comando. Si el comando se ejecuta de forma sincrónica, todos los objetos Recordsets se rellenarán completamente. Si se ha seleccionado un modo de rellenado asincrónico, el estado rellenado de los objetos Recordsets dependerá del modo de rellenado y del tamaño de Recordsets.

Por ejemplo, el comando primario podría devolver un objeto Recordset de clientes para una empresa de una tabla Customers, y el comando secundario podría devolver un objeto Recordset de pedidos para todos los clientes de una tabla Orders.

SHAPE {SELECT * FROM Customers}   
   APPEND ({SELECT * FROM Orders} AS chapOrders   
   RELATE customerID TO customerID)  

Para las relaciones de elementos primarios y secundarios no parametrizados, cada objeto Recordset primario y secundario debe tener una columna en común para asociarlos. A las columnas se les asigna un nombre en la cláusula RELATE, la columna primaria primero y, a continuación, la columna secundaria. Las columnas pueden tener nombres diferentes en sus respectivos objetos Recordset, pero deben hacer referencia a la misma información para especificar una relación significativa. Por ejemplo, los objetos Customers y Orders Recordset podrían tener un campo customerID. Dado que la pertenencia al objeto Recordset secundario la determina el comando provider, el objeto Recordset secundario puede contener filas huérfanas. No se puede acceder a estas filas huérfanas sin volver a darles otra forma.

El modelado de datos anexa una columna de capítulo al objeto Recordset primario. Los valores de la columna de capítulo son referencias a filas del objeto Recordset secundario, que cumplen la cláusula RELATE. Es decir, se encuentra el mismo valor en la columna primaria de una fila primaria determinada que en la columna secundaria de todas las filas del elemento secundario del capítulo. Cuando se usan varias cláusulas TO en la misma cláusula RELATE, se combinan implícitamente mediante un operador AND. Si las columnas primarias de la cláusula RELATE no constituyen una clave para el objeto Recordset primario, una sola fila secundaria puede tener varias filas primarias.

Cuando se obtiene acceso a la referencia en la columna de capítulo, ADO recupera automáticamente el objeto Recordset representado por la referencia. Tenga en cuenta que, en un comando no parametrizado, aunque se ha recuperado todo el objeto Recordset secundario, el capítulo solo presenta un subconjunto de filas.

Si la columna anexada no tiene ningún alias de capítulo, se generará un nombre automáticamente. Un objeto Field para la columna se anexará a la colección Fields del objeto Recordset, y su tipo de datos será adChapter.

Para obtener información sobre cómo navegar por un objeto Recordset jerárquico, consulte Acceso a filas en un objeto Recordset jerárquico.

Consulte también

Ejemplo de la forma de datos
Gramática formal de forma
Comandos Shape en General