Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

DAO - RecordSet de type table

3 réponses
Avatar
Alain
J'apprends DAO.
Pour accéder à l'entièreté d'une table, il faut un recordset.
J'ai trouvé 2 moyens d'obtenir ce recordset.

1- faire
set <recordset> =
<objet_database>.OpenRecordSet("<nom_de_la_table>", dbOpenTable, ...)

2- définir un objet de type table avec
set <objet_table> = <objet_database>.TableDefs("<nom_de_la_table>")
puis définir le recordset sur cette table
set <record_set> = <objet_table>.OpenRecordSet

Le choix d'un de ces deux moyens a-t-il un effet sur les caractéristiques
(possibilités fonctionnelles, temps d'accès, espace mémoire occupé, etc) du
recordset créé ?

Merci d'avance.
Alain.

3 réponses

Avatar
MichDenis
Bonjour,

| J'apprends DAO
Si tu me permets une remarque, DAO n'est plus supporté par Microsoft depuis un certain nombre d'années, ce qui signifie qu'il est
voué à une mort certaine ....évidemment, il est encore très utile surtout si tu travailles avec Access. Il serait avantageux
d'étudier ADO .... à moins que tu le maîtrises déjà.

Personnellement, j'aurais utilisé l'ouverture la méthode "OpenRecordset" d'un recordset, utilisant une requête "Select * From
MaTable" en utilisant le curseur dbOpenForwardOnly .

Mais pour ce type de question, Le forum Access est sûrement mieux adapté, eux, ils manipulent ces objets constamment et ils sont
sûrement mieux placés pour t'aiguiller sur cet aspect de ta problématique.


Salutations!





"Alain" a écrit dans le message de news:
J'apprends DAO.
Pour accéder à l'entièreté d'une table, il faut un recordset.
J'ai trouvé 2 moyens d'obtenir ce recordset.

1- faire
set <recordset> <objet_database>.OpenRecordSet("<nom_de_la_table>", dbOpenTable, ...)

2- définir un objet de type table avec
set <objet_table> = <objet_database>.TableDefs("<nom_de_la_table>")
puis définir le recordset sur cette table
set <record_set> = <objet_table>.OpenRecordSet

Le choix d'un de ces deux moyens a-t-il un effet sur les caractéristiques
(possibilités fonctionnelles, temps d'accès, espace mémoire occupé, etc) du
recordset créé ?

Merci d'avance.
Alain.
Avatar
Pierre CFI [mvp]
bonjour
comme dit michdenis, çà dépend de ce que ttu veux en faire
si en lecture seule, tu peux ouvrir un dbOpenSnapshot

C'est vrai que depuis les versions xp de office, on a ADO, mais je remarque que dans les boites office 97 est encore bien présent

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"MichDenis" a écrit dans le message de news:
Bonjour,

| J'apprends DAO
Si tu me permets une remarque, DAO n'est plus supporté par Microsoft depuis un certain nombre d'années, ce qui signifie qu'il est
voué à une mort certaine ....évidemment, il est encore très utile surtout si tu travailles avec Access. Il serait avantageux
d'étudier ADO .... à moins que tu le maîtrises déjà.

Personnellement, j'aurais utilisé l'ouverture la méthode "OpenRecordset" d'un recordset, utilisant une requête "Select * From
MaTable" en utilisant le curseur dbOpenForwardOnly .

Mais pour ce type de question, Le forum Access est sûrement mieux adapté, eux, ils manipulent ces objets constamment et ils sont
sûrement mieux placés pour t'aiguiller sur cet aspect de ta problématique.


Salutations!





"Alain" a écrit dans le message de news:
J'apprends DAO.
Pour accéder à l'entièreté d'une table, il faut un recordset.
J'ai trouvé 2 moyens d'obtenir ce recordset.

1- faire
set <recordset> > <objet_database>.OpenRecordSet("<nom_de_la_table>", dbOpenTable, ...)

2- définir un objet de type table avec
set <objet_table> = <objet_database>.TableDefs("<nom_de_la_table>")
puis définir le recordset sur cette table
set <record_set> = <objet_table>.OpenRecordSet

Le choix d'un de ces deux moyens a-t-il un effet sur les caractéristiques
(possibilités fonctionnelles, temps d'accès, espace mémoire occupé, etc) du
recordset créé ?

Merci d'avance.
Alain.




Avatar
Alain
Merci à tous les deux pour votre réponse.
J'étudie DAO car je dois maintenir de l'ancien code qui utilise DAO.

Alain.





bonjour
comme dit michdenis, çà dépend de ce que ttu veux en faire
si en lecture seule, tu peux ouvrir un dbOpenSnapshot

C'est vrai que depuis les versions xp de office, on a ADO, mais je remarque que dans les boites office 97 est encore bien présent

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"MichDenis" a écrit dans le message de news:
Bonjour,

| J'apprends DAO
Si tu me permets une remarque, DAO n'est plus supporté par Microsoft depuis un certain nombre d'années, ce qui signifie qu'il est
voué à une mort certaine ....évidemment, il est encore très utile surtout si tu travailles avec Access. Il serait avantageux
d'étudier ADO .... à moins que tu le maîtrises déjà.

Personnellement, j'aurais utilisé l'ouverture la méthode "OpenRecordset" d'un recordset, utilisant une requête "Select * From
MaTable" en utilisant le curseur dbOpenForwardOnly .

Mais pour ce type de question, Le forum Access est sûrement mieux adapté, eux, ils manipulent ces objets constamment et ils sont
sûrement mieux placés pour t'aiguiller sur cet aspect de ta problématique.


Salutations!





"Alain" a écrit dans le message de news:
J'apprends DAO.
Pour accéder à l'entièreté d'une table, il faut un recordset.
J'ai trouvé 2 moyens d'obtenir ce recordset.

1- faire
set <recordset> > > <objet_database>.OpenRecordSet("<nom_de_la_table>", dbOpenTable, ...)

2- définir un objet de type table avec
set <objet_table> = <objet_database>.TableDefs("<nom_de_la_table>")
puis définir le recordset sur cette table
set <record_set> = <objet_table>.OpenRecordSet

Le choix d'un de ces deux moyens a-t-il un effet sur les caractéristiques
(possibilités fonctionnelles, temps d'accès, espace mémoire occupé, etc) du
recordset créé ?

Merci d'avance.
Alain.