optimisation vba access

optimisation vba access - VB/VBA/VBS - Programmation

Marsh Posté le 27-07-2006 à 17:17:54    

bonjour,
 
  Je cherche à optimiser le structure de qque lignes de code que j'utilse à plusieurs endroit dans mon projet.
  cela concerne l'execution d'une requete qui retourne une seul valeur. mais si aucun resultat alors qqchose sinon autre chose
 
  en générale je fait soit ca (de tete) :

   if currentdb.openrecordset("select count(*) from ...." ).EOF then
           msgbox("y'a pas de résultat" )
     else
           msgbox("le resultat est " & currentdb.openrecordset("select count(*) from ...." ).fields(0))
     end if


Soit ca :  

    dim rs as recordset
     set rs = currentdb.openrecordset("select count(*) from ...." )
     if rs.EOF then
           msgbox("y'a pas de résultat" )
     else
           msgbox("le resultat est " & rs.fields(0))
     end if
     rs.close
     set rs=nothing


ce qui fait dans le 1er cas l'execution de 2 requete (pas top)
et dans le 2 cas instantation d'un objet + une requete + descruction de l'objet (pas top non plus mais un peu mieux je pense)
 
Des idées pour optimiser ca ? ou moins des conseil sur la meilleur des 2 méthodes
 
 
Merci a+


Message édité par PierreC le 27-07-2006 à 18:14:16

---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 27-07-2006 à 17:17:54   

Reply

Marsh Posté le 27-07-2006 à 17:25:07    

1/ solution 2
2/ d'autant plus qu'entre deux requêtes, le nombre de ligne peut très bien changer (et donc passer de 1 à 0 par exemple)
3/ t'es sur que count(*) peut ne pas ramener de ligne ?


Message édité par Arjuna le 27-07-2006 à 17:25:47
Reply

Marsh Posté le 27-07-2006 à 17:30:46    

merci pour ta rapide réponse
1/ je pense aussi
2/ y'a pas une forte activité sur la base, mais c'est en effet un point à prebdre en compte
3/ count est un exemple parmis t'en d'autre, mais il est vrai que count renvoi tj une ligne (enfin je crois)
 
 
d'autre idée ? peut etre une manière différente d'ecrire le code ?


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 27-07-2006 à 17:36:37    

mise à part je ne n'aime pas trop pour ce cas précis la façon dont tu écris ton code, non, je ne vois pas ce que tu peux faire de mieux.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed