Service de curseur Microsoft pour OLE DB (composant de service ADO)
S’applique à : Access 2013, Office 2013
Le service de curseur Microsoft pour OLE DB complète les fonctions de prise en charge du curseur des fournisseurs de données. L'utilisateur a ainsi une perception relativement uniforme des fonctionnalités des différents fournisseurs de données.
Le service de curseur rend les propriétés dynamiques accessibles et améliore le comportement de certaines méthodes. Par exemple, la propriété dynamique Optimize permet la création d'index temporaires qui facilitent certaines opérations comme la méthode Find.
Dans tous les cas, le service de curseur prend en charge la mise à jour par lot. Il simule également des types de curseurs plus puissants comme les curseurs dynamiques lorsqu'un fournisseur de données ne peut fournir que des curseurs d'une capacité moindre comme les curseurs statiques.
Mot clé
Pour appeler ce composant de service, définissez la propriété CursorLocation de l’objet Recordset ou Connection sur adUseClient .
connection.CursorLocation=adUseClientrecordset.CursorLocation=adUseClient
Propriétés dynamiques
Lorsque le service de curseur pour OLE DB est appelé, les propriétés dynamiques suivantes sont ajoutées à la collection Properties de l'objet Recordset. La liste complète des propriétés dynamiques des objets Connection et Recordset apparaît dans l' Index des propriétés dynamiques ADO. Les noms de propriété OLE DB associés sont, le cas échéant, insérés entre parenthèses après le nom de propriété ADO.
Après l'appel du service de curseur, les modifications apportées à certaines propriétés dynamiques sont invisibles pour la source de données sous-jacente. Par exemple, la définition de la propriété Command Time out sur un Recordset reste invisible pour le fournisseur de données sous-jacent.
...
Recordset1.CursorLocation = adUseClient 'invokes cursor service
Recordset1.Open "authors", _
"Provider=SQLOLEDB;Data Source=DBServer;User Id=usr;" & _
"Password=pwd;Initial Catalog=pubs;",,adCmdTable
Recordset1.Properties.Item("Command Time out") = 50
' 'Command Time out' property on DBServer is still default (30).
...
Si votre application nécessite le service de curseur et que vous avez besoin de définir des propriétés dynamiques sur le fournisseur sous-jacent, définissez ces propriétés avant d'invoquer le service de curseur. Les paramètres de propriété d'objet de commande sont toujours transmis au fournisseur de données sous-jacent quel que soit l'emplacement du curseur. Par conséquent, vous pouvez également utiliser un objet de commande pour définir à tout moment les propriétés.
Remarque
La propriété dynamique DBPROP_SERVERDATAONINSERT n'est pas prise en charge par le service de curseur, même si elle est prise en charge par le fournisseur de données sous-jacent.
Nom de la propriété |
Description |
---|---|
Auto Recalc |
Pour les jeux d'enregistrement créés avec Microsoft Data Shaping Service, cette valeur indique la fréquence de calcul des colonnes calculées et agrégées. La valeur par défaut (value=1) indique qu'un nouveau calcul doit être effectué chaque fois que Microsoft Data Shaping Service détecte une modification des valeurs. Si la valeur est égale à 0, les colonnes calculées et agrégées ne sont calculées que lors de la composition initiale de la hiérarchie. |
Batch Size |
Indique le nombre d'instructions de mise à jour pouvant être insérées dans un même lot pour leur envoi au magasin de données. Plus le lot contient d'instructions, moins les allers-retours au magasin de données seront nombreux. |
Cache Child Rows |
Pour les jeux d'enregistrements créés avec Microsoft Data Shaping Service, cette valeur indique si les jeux d'enregistrements enfants sont stockés en cache en vue d'une utilisation ultérieure. |
Cursor Engine Version |
Indique la version du service de curseur utilisée. |
Maintain Change Status |
Indique le texte de la commande à utiliser pour resynchroniser une ou plusieurs lignes dans une jointure de plusieurs tables. |
Indique s'il faut créer un index. Si cette propriété est définie sur True, la création temporaire d'index est autorisée pour améliorer l'exécution de certaines opérations. |
|
Indique le nom du Recordset. Peut être référencé dans les commandes actuelles ou suivantes de mise en forme des données. |
|
Indique une chaîne de commande personnalisée utilisée par la méthode Resync lorsque la propriété Unique Table est en vigueur. |
|
Indique le nom de la base de données contenant la table référencée dans la propriété Unique Table. |
|
Indique le nom du propriétaire de la table référencée dans la propriété Unique Table. |
|
Indique le nom de la table unique dans un Recordset créé à partir de plusieurs tables modifiables par insertion, mise à jour ou suppression. |
|
Update Criteria |
Indique les champs de la clause WHERE utilisés pour gérer les collisions survenant lors des mises à jour. |
Update Resync(DBPROP_ADC_UPDATERESYNC) |
Indique si la méthode Resync est implicitement appelée après la méthode UpdateBatch (et son comportement) lorsque la propriété Unique Table est en vigueur. |
Vous pouvez également définir ou extraire une propriété dynamique en spécifiant son nom en tant qu'index de la collection Properties. Par exemple, vous pouvez obtenir et imprimer la valeur actuelle de la propriété dynamique Optimize, puis définir une nouvelle valeur de la façon suivante :
Debug.Print rs.Properties("Optimize")
rs.Properties("Optimize") = True
Comportement des propriétés intégrées
Le service de curseur pour OLE DB affecte également le comportement de certaines propriétés intégrées.
Nom de la propriété |
Description |
---|---|
Complète les types de curseurs disponibles pour un Recordset. |
|
Complète les types de verrous disponibles pour un Recordset. Permet la mise à jour en lot. |
|
Indique le ou les noms de champ utilisés pour trier le Recordset ; indique également pour chaque champ si le tri doit s'effectuer dans l'ordre croissant ou dans l'ordre décroissant. |
Comportement des méthodes
Le service de curseur pour OLE DB active ou affecte le comportement de la méthode Append de l’objet Field et des méthodes Open, Resync, UpdateBatch et Save de l’objet Recordset.