Avant toute chose, je pense avoir déjà posé la question mais j'ai perdu les
réponses ;-)
Donc si tel est le cas, ne criez pas trop fort !!
Voici la question: à votre avis, faut-il à chaque fois que l'on en a besoin
déclarer une variable locale
Dim db As DAO.Database ou bien peut-on (est-ce conseillé ?) en déclarer une
en globale et
l'utiliser tout au long des différentes fonctions et procédures exécutées
dans une application ?
Je ne cherche a priori aucune optimisation particulière si ce n'est de
n'avoir qu'une seule fois à déclarer
ma variable et de pouvoir l'utiliser sans avoir à faire à nouveau les
déclarations.
Bien sur dans le cas d'une utilisation globale, je l'affecte au démarrage et
la cloture à la fermeture de la base
par un Set db = Nothing (db.Close ne suffisant pas, n'est-ce pas ?)
Le fait que ton recordset soit fermé , c'est bon, sauf que ton objet n'est pas supprimé et qu'il prend de la place mémoire et que s'il est dans une base appelée par automation la session access ouverte risque de ne pas se fermer par le Quit parce que des objets sont ouverts.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Jeff" a écrit dans le message de news:ci8vu0$ucv$
Merci une fois de plus pour ta réponse.
Donc je peux remplacer mes "anciens" .Close par Set db = Nothing ou Set rst
= Nothing, n'est-ce pas ?
Dernière question (aprés j'arrête et je bosse ;-)) :
Si un recordset est fermé (rst.Close non maintenant Set rst = Nothing) mais
pas db, y a-t-il un risque de corruption de donnée bien que le Recordset soit fermé ?
Merci
Cordialement
Jeff
Merci
Cordialement
Jeff
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news:u7YiKKwmEHA.3428@TK2MSFTNGP11.phx.gbl...
Le fait que ton recordset soit fermé , c'est bon, sauf que ton objet n'est
pas supprimé et qu'il prend de la place mémoire et que s'il est dans une
base appelée par automation la session access ouverte risque de ne pas se
fermer par le Quit parce que des objets sont ouverts.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Jeff" <jf@jf.com> a écrit dans le message de
news:ci8vu0$ucv$1@news-reader5.wanadoo.fr...
Merci une fois de plus pour ta réponse.
Donc je peux remplacer mes "anciens" .Close par Set db = Nothing ou Set
rst
= Nothing, n'est-ce pas ?
Dernière question (aprés j'arrête et je bosse ;-)) :
Si un recordset est fermé (rst.Close non maintenant Set rst = Nothing)
mais
pas db, y a-t-il un risque de
corruption de donnée bien que le Recordset soit fermé ?
Le fait que ton recordset soit fermé , c'est bon, sauf que ton objet n'est pas supprimé et qu'il prend de la place mémoire et que s'il est dans une base appelée par automation la session access ouverte risque de ne pas se fermer par le Quit parce que des objets sont ouverts.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Jeff" a écrit dans le message de news:ci8vu0$ucv$
Merci une fois de plus pour ta réponse.
Donc je peux remplacer mes "anciens" .Close par Set db = Nothing ou Set rst
= Nothing, n'est-ce pas ?
Dernière question (aprés j'arrête et je bosse ;-)) :
Si un recordset est fermé (rst.Close non maintenant Set rst = Nothing) mais
pas db, y a-t-il un risque de corruption de donnée bien que le Recordset soit fermé ?