TableDef.OpenRecordset, méthode (DAO)
S’applique à : Access 2013, Office 2013
Crée un objet Recordset et l’ajoute à la collection Recordsets.
Syntaxe
expression . OpenRecordset(Type, Options)
expression Variable représentant un objet TableDef.
Paramètres
Nom |
Obligatoire/facultatif |
Type de données |
Description |
---|---|---|---|
Name |
Obligatoire |
Chaîne |
Source des enregistrements du nouveau Recordset. La source peut être un nom de table, un nom de requête ou une instruction SQL qui renvoie des enregistrements. Pour les objets Recordset de type table dans les bases de données du moteur de base de données Microsoft Access, la source peut uniquement être un nom de table. |
Type |
Facultatif |
Variant |
Constante RecordsetTypeEnum qui indique le type de Recordset à ouvrir. REMARQUE : si vous ouvrez un objet Recordset dans un espace de travail Microsoft Access et que vous n’indiquez aucun type, OpenRecordset crée un objet Recordset de type table, si possible. If you specify a linked table or query, OpenRecordset creates a dynaset-type Recordset. |
Options |
Facultatif |
Variant |
Combinaison de constantes RecordsetOptionEnum qui indiquent les caractéristiques du nouveau Recordset. REMARQUE : dbConsistent et dbInconsistent s’excluent mutuellement, et l’utilisation de ces deux constantes peut entraîner une erreur. Supplying a lockedits argument when options uses the dbReadOnly constant also causes an error. |
LockEdit |
Facultatif |
Variant |
Constante LockTypeEnum qui détermine le verrouillage du Recordset. REMARQUE : vous pouvez utiliser dbReadOnly dans l’argument options ou dans l’argument lockededits, mais pas dans les deux. Si vous l’utilisez dans les deux arguments, une erreur d’exécution se produit. |
Valeur renvoyée
Recordset
Remarques
En général, si l'utilisateur obtient cette erreur lors de la mise à jour d'un enregistrement, le code peut actualiser le contenu des champs et extraire les valeurs qui viennent d'être modifiées. Si l'erreur se produit lors de la suppression d'un enregistrement, le code peut afficher les nouvelles données de l'enregistrement pour l'utilisateur et un message indique que les données ont été modifiées dernièrement. À ce niveau, le code peut demander une confirmation que l'utilisateur souhaite encore supprimer l'enregistrement.
Vous pouvez également utiliser la constante dbSeeChanges si vous ouvrez un Recordset dans un espace de travail ODBC connecté au moteur de base de données Microsoft Access par rapport à une table Microsoft SQL Server 6.0 (ou version ultérieure) qui comporte une colonne IDENTITY, sinon une erreur peut survenir.
L'ouverture de plusieurs objets Recordset dans une source de données ODBC peut entraîner un échec car la connexion est occupée par un appel d'objet OpenRecordset préalable. Pour contourner ce problème, vous pouvez renseigner totalement l'objet Recordset à l'aide de la méthode MoveLast dès que l'objet Recordset est ouvert.
La fermeture d’un Recordset avec la méthode Close le supprime automatiquement de la collection Recordsets.
Remarque
Si source fait référence à une instruction SQL composée d’une chaîne concaténée avec une valeur non entière, et que les paramètres système spécifient une valeur non américaine. Caractère décimal tel qu’une virgule (par exemple, strSQL = « PRICE > » & lngPrice et lngPrice = 125,50), une erreur se produit lorsque vous essayez d’ouvrir l’objet Recordset. Cela s'explique par le fait que lors de la concaténation, le nombre est converti en chaîne à l'aide du caractère décimal par défaut du système et le langage SQL n'accepte que les caractères décimaux de la notation américaine.