ricomiracle
Messages postés195Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 novembre 2009
-
19 juil. 2005 à 09:23
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 2010
-
24 juil. 2005 à 22:42
Est il possible de faire une requête sur un objet Recordset?
Le recordset est initialisé par une requête sur une base de donnée:
Select * from MyTable
Je voudrais avoir en permanence le résultat de cette requete ds un objet et faire des recherches sur cette objet(Where ...)
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 19 juil. 2005 à 10:04
salut,
je sais plus bien mais je pense que le seul moyen d'obtinir un
RecordSet (résultat d'une requête) c'est OpenRecordSet ou
CreateDynaset...je ne pense pas que l'on puisse mettre à jour un
Recordset à partir de lui-même...il réexécuter une requête à chaque
fois si le critère change...
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 19 juil. 2005 à 13:20
Bonjour,
Que veux-tu faire exactement, placer le champ désigné par un recordSet
dans un combobox ou un listBox par exemple, pour pouvoir visionner
l'ensenble des données du champ ???
ricomiracle
Messages postés195Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 novembre 2009 19 juil. 2005 à 13:34
Non désolé en fait je me posais la mauvaise question.
En fait je veux avoir en permanence une référence sur une base de donnée (en fait une seul table)
et selon les besoins faire des requête sur la table. Donc en fait j'ai un objet AdoDB.connection qui fait référence à la bdd et je me sert de recordset ds les fonctions qui font des requêtes sur cette table.
Voila j'aurais du réfléchir av de poser la kestion.
Est-ce bien comme cela que l'on utilise ADO?
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 20 juil. 2005 à 10:19
salut,
la connexion, c'est la seule chose dont tu as besoin tout le temps...
tu fais tes requêtes dessus...mais ce n'est pas un recordset : c'est
une liaison entre toi et la bd
ShareVB
Vous n’avez pas trouvé la réponse que vous recherchez ?
ricomiracle
Messages postés195Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 novembre 2009 20 juil. 2005 à 17:22
Bon j'ai avancer un petit peu avec les objets ADODB recordset et
connection. Je pose la question car vous avez l'air de les avoir
utiliser plus que moi tout de même. Il y a deux solutions pour
permettre de faire ce que je veux.
(Je rappel le sujet: j'ai une base de donnée constituée d'une seul
table a laquelle je dois toujours faire rédéfrence et dans le prog je
veux faire ponctuellement des requêtes sur cette table.)
solution 1: Un objet connection ouvert en permanence et dès que j'ai le
besoin, j'ouvre un objet recordset avec comme source une requête sur la
table. Je ferme le recordset apres avoir fait mes tests sur son
contenu.)
solution 2: J'ouvre un objet recordset en permanence et lorsque j'en ai
besoin je fais des requête sur cette objet (il contient toute la table)
à l'aide de la méthode <Find>
Selon vous laquelle des méthodes est la plus performante (celle que vous auriez utilisez)
ricomiracle
Messages postés195Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 novembre 2009 21 juil. 2005 à 16:18
La solution classique est effectivement la première.
Cependant, elle m'impose d'ouvrir un objet recordest à chaque fois que je veux faire une requête (rs.open "SELECT * FROM ...")
Hors il existe dans l'objet Recordset une méthode find() qui me place
directement sur l'un des enregistrements du recordset. A mon avis la
méthode find prend bcp moins de temps que la méthode open du recordset.
Donc il y a du pour et du contre dans les deux cas: soit je n'utilise
que l'objet connection en permanence et à chaque fois que c'est
nécessaire, je fais des requête avec recordset.open "ma_requête", ->
les objets sont léger mais si il y a bcp de requêtes, ca risque d'être
assez lent
Soit j'ai un objet recordset (grosse table) en permanence mais les
requêtes sont très rapides puisque je n'ouvre le recordset qu'une seul
fois.
Si il y a bcp de requêtes à faire en peu de temps (c'est mon cas) la deuxième solutions me parait plus adéquate
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 22 juil. 2005 à 10:40
salut,
c'est vrai que s'il n'y a qu'une table...il suffit de comparer les deux
méthodes en les codant et en comparant le temps d'exécution (par ex
avec QueryPerformanceCounter)...