Bonjour.
le close et la valeur Nothing sont deux choses différentes :
Close ferme un objet ouvert (ouvert par affectation à une variable
d'objet).
La variable fait toujours référence à l'objet réel. Les ressources mémoire
et système ne sont pas libérées.
Une alternative à l'utilisation de la méthode Close est d'attribuer à une
variable d'objet la valeur Nothing.
Nothing est affecté à une variable faisant référence à un objet réel. On
utilise l'instruction Set pour attribuer Nothing à une variable objet.
Lorsque Nothing est attribué à une variable objet, cette dernière ne fait
plus référence à l'objet réel (Close de l'objet). Les ressources mémoire
et
système associées à l'objet auquel la variable fait référence sont
libérées
uniquement une fois que Nothing lui a été affecté.
on voit tout de suite que le close et le nothing se rejoignent dans le
fait
que close ne fait que fermer l'objet alors que nothing ferme l'objet et
libère les ressources. ce qui veut dire dans la pratique:
1- tout objet ouvert doit être fermé lorqu'il n'est plus utilisé
2- la variable objet ne doit plus faire référence à l'objet réel lorsque
l'objet n'est plus utilisé, pour libérer les ressources.
3- Le fait d'affecter Nothing à une variable objet provoque un close
automatique de l'objet.
4- il est donc inutile de faire un close avant d'affecter Nothing.
le fait de faire:
rs.close
db.close
set rs = Nothing
set db = Nothing
ne fait pas plus f'effet que:
set rs = Nothing
set db = Nothing
mais rien n'interdit de faire le close et le Nothing, de la même façon
qu'il
n'est pas interdit de porter des bretelles et une ceinture en même temps.
Le plus important restant quand même le fait que le Nothing doit être
impératif dès qu'on a terminé un travail avec un objet pour libérer les
ressources.
La lumière est-elle tombée sur toi ? si tant est que mes explications
soient
claires ?
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/
Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0
"Laurent" a écrit dans le message de news:
| Bonjour / Bonsoir,
|
| J'ai une petite question d'ordre pratique
|
| Je définis mes accès au recordset comme suit :
|
| Dim ws as workspace
| Dim db as database
| Dim rs as recordset
|
| Set ws = dbengine.workspaces(0)
| Set db = ws.databases(0)
| Set rs = db.openrecordset("matable", dbopendynaset)
|
| ... code en parcourant les enregistrements, puis ...
|
| rs.close
| db.close
| ws.close
|
| Un set ws = nothing ou null est-il utile, si je fais bien un close ?
|
| A quoi sert ce "nothing" ? Merci d'éclairer ma pauvre lanterne.
|
| Excellente soirée,
| Laurent
|
|
|
|
Bonjour.
le close et la valeur Nothing sont deux choses différentes :
Close ferme un objet ouvert (ouvert par affectation à une variable
d'objet).
La variable fait toujours référence à l'objet réel. Les ressources mémoire
et système ne sont pas libérées.
Une alternative à l'utilisation de la méthode Close est d'attribuer à une
variable d'objet la valeur Nothing.
Nothing est affecté à une variable faisant référence à un objet réel. On
utilise l'instruction Set pour attribuer Nothing à une variable objet.
Lorsque Nothing est attribué à une variable objet, cette dernière ne fait
plus référence à l'objet réel (Close de l'objet). Les ressources mémoire
et
système associées à l'objet auquel la variable fait référence sont
libérées
uniquement une fois que Nothing lui a été affecté.
on voit tout de suite que le close et le nothing se rejoignent dans le
fait
que close ne fait que fermer l'objet alors que nothing ferme l'objet et
libère les ressources. ce qui veut dire dans la pratique:
1- tout objet ouvert doit être fermé lorqu'il n'est plus utilisé
2- la variable objet ne doit plus faire référence à l'objet réel lorsque
l'objet n'est plus utilisé, pour libérer les ressources.
3- Le fait d'affecter Nothing à une variable objet provoque un close
automatique de l'objet.
4- il est donc inutile de faire un close avant d'affecter Nothing.
le fait de faire:
rs.close
db.close
set rs = Nothing
set db = Nothing
ne fait pas plus f'effet que:
set rs = Nothing
set db = Nothing
mais rien n'interdit de faire le close et le Nothing, de la même façon
qu'il
n'est pas interdit de porter des bretelles et une ceinture en même temps.
Le plus important restant quand même le fait que le Nothing doit être
impératif dès qu'on a terminé un travail avec un objet pour libérer les
ressources.
La lumière est-elle tombée sur toi ? si tant est que mes explications
soient
claires ?
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/
Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0
"Laurent" <laurent_dick@gmx.ch> a écrit dans le message de news:
uGf2VeLyHHA.4004@TK2MSFTNGP05.phx.gbl...
| Bonjour / Bonsoir,
|
| J'ai une petite question d'ordre pratique
|
| Je définis mes accès au recordset comme suit :
|
| Dim ws as workspace
| Dim db as database
| Dim rs as recordset
|
| Set ws = dbengine.workspaces(0)
| Set db = ws.databases(0)
| Set rs = db.openrecordset("matable", dbopendynaset)
|
| ... code en parcourant les enregistrements, puis ...
|
| rs.close
| db.close
| ws.close
|
| Un set ws = nothing ou null est-il utile, si je fais bien un close ?
|
| A quoi sert ce "nothing" ? Merci d'éclairer ma pauvre lanterne.
|
| Excellente soirée,
| Laurent
|
|
|
|
Bonjour.
le close et la valeur Nothing sont deux choses différentes :
Close ferme un objet ouvert (ouvert par affectation à une variable
d'objet).
La variable fait toujours référence à l'objet réel. Les ressources mémoire
et système ne sont pas libérées.
Une alternative à l'utilisation de la méthode Close est d'attribuer à une
variable d'objet la valeur Nothing.
Nothing est affecté à une variable faisant référence à un objet réel. On
utilise l'instruction Set pour attribuer Nothing à une variable objet.
Lorsque Nothing est attribué à une variable objet, cette dernière ne fait
plus référence à l'objet réel (Close de l'objet). Les ressources mémoire
et
système associées à l'objet auquel la variable fait référence sont
libérées
uniquement une fois que Nothing lui a été affecté.
on voit tout de suite que le close et le nothing se rejoignent dans le
fait
que close ne fait que fermer l'objet alors que nothing ferme l'objet et
libère les ressources. ce qui veut dire dans la pratique:
1- tout objet ouvert doit être fermé lorqu'il n'est plus utilisé
2- la variable objet ne doit plus faire référence à l'objet réel lorsque
l'objet n'est plus utilisé, pour libérer les ressources.
3- Le fait d'affecter Nothing à une variable objet provoque un close
automatique de l'objet.
4- il est donc inutile de faire un close avant d'affecter Nothing.
le fait de faire:
rs.close
db.close
set rs = Nothing
set db = Nothing
ne fait pas plus f'effet que:
set rs = Nothing
set db = Nothing
mais rien n'interdit de faire le close et le Nothing, de la même façon
qu'il
n'est pas interdit de porter des bretelles et une ceinture en même temps.
Le plus important restant quand même le fait que le Nothing doit être
impératif dès qu'on a terminé un travail avec un objet pour libérer les
ressources.
La lumière est-elle tombée sur toi ? si tant est que mes explications
soient
claires ?
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/
Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0
"Laurent" a écrit dans le message de news:
| Bonjour / Bonsoir,
|
| J'ai une petite question d'ordre pratique
|
| Je définis mes accès au recordset comme suit :
|
| Dim ws as workspace
| Dim db as database
| Dim rs as recordset
|
| Set ws = dbengine.workspaces(0)
| Set db = ws.databases(0)
| Set rs = db.openrecordset("matable", dbopendynaset)
|
| ... code en parcourant les enregistrements, puis ...
|
| rs.close
| db.close
| ws.close
|
| Un set ws = nothing ou null est-il utile, si je fais bien un close ?
|
| A quoi sert ce "nothing" ? Merci d'éclairer ma pauvre lanterne.
|
| Excellente soirée,
| Laurent
|
|
|
|
Merci Raymond pour tes conseils avertis. Je vais donc en tenir compte en
mettant mon compte à jour (oulala sacré travail en perspective :o)
Excellente fin de semaine à toi,
Cordialement
/Laurent/
"Raymond [mvp]" wrote in message
news:Bonjour.
le close et la valeur Nothing sont deux choses différentes :
Close ferme un objet ouvert (ouvert par affectation à une variable
d'objet).La variable fait toujours référence à l'objet réel. Les ressources
mémoire
et système ne sont pas libérées.
Une alternative à l'utilisation de la méthode Close est d'attribuer à
une
variable d'objet la valeur Nothing.
Nothing est affecté à une variable faisant référence à un objet réel. On
utilise l'instruction Set pour attribuer Nothing à une variable objet.
Lorsque Nothing est attribué à une variable objet, cette dernière ne
fait
plus référence à l'objet réel (Close de l'objet). Les ressources mémoire
etsystème associées à l'objet auquel la variable fait référence sont
libéréesuniquement une fois que Nothing lui a été affecté.
on voit tout de suite que le close et le nothing se rejoignent dans le
faitque close ne fait que fermer l'objet alors que nothing ferme l'objet et
libère les ressources. ce qui veut dire dans la pratique:
1- tout objet ouvert doit être fermé lorqu'il n'est plus utilisé
2- la variable objet ne doit plus faire référence à l'objet réel lorsque
l'objet n'est plus utilisé, pour libérer les ressources.
3- Le fait d'affecter Nothing à une variable objet provoque un close
automatique de l'objet.
4- il est donc inutile de faire un close avant d'affecter Nothing.
le fait de faire:
rs.close
db.close
set rs = Nothing
set db = Nothing
ne fait pas plus f'effet que:
set rs = Nothing
set db = Nothing
mais rien n'interdit de faire le close et le Nothing, de la même façon
qu'iln'est pas interdit de porter des bretelles et une ceinture en même
temps.
Le plus important restant quand même le fait que le Nothing doit être
impératif dès qu'on a terminé un travail avec un objet pour libérer les
ressources.
La lumière est-elle tombée sur toi ? si tant est que mes explications
soientclaires ?
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/
Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0
-bce47c8e0d99
"Laurent" a écrit dans le message de news:
| Bonjour / Bonsoir,
|
| J'ai une petite question d'ordre pratique
|
| Je définis mes accès au recordset comme suit :
|
| Dim ws as workspace
| Dim db as database
| Dim rs as recordset
|
| Set ws = dbengine.workspaces(0)
| Set db = ws.databases(0)
| Set rs = db.openrecordset("matable", dbopendynaset)
|
| ... code en parcourant les enregistrements, puis ...
|
| rs.close
| db.close
| ws.close
|
| Un set ws = nothing ou null est-il utile, si je fais bien un close ?
|
| A quoi sert ce "nothing" ? Merci d'éclairer ma pauvre lanterne.
|
| Excellente soirée,
| Laurent
|
|
|
|
Merci Raymond pour tes conseils avertis. Je vais donc en tenir compte en
mettant mon compte à jour (oulala sacré travail en perspective :o)
Excellente fin de semaine à toi,
Cordialement
/Laurent/
"Raymond [mvp]" <xyzofficesystem.accessxyz@free.fr> wrote in message
news:Oi2NyNQyHHA.4640@TK2MSFTNGP03.phx.gbl...
Bonjour.
le close et la valeur Nothing sont deux choses différentes :
Close ferme un objet ouvert (ouvert par affectation à une variable
d'objet).
La variable fait toujours référence à l'objet réel. Les ressources
mémoire
et système ne sont pas libérées.
Une alternative à l'utilisation de la méthode Close est d'attribuer à
une
variable d'objet la valeur Nothing.
Nothing est affecté à une variable faisant référence à un objet réel. On
utilise l'instruction Set pour attribuer Nothing à une variable objet.
Lorsque Nothing est attribué à une variable objet, cette dernière ne
fait
plus référence à l'objet réel (Close de l'objet). Les ressources mémoire
et
système associées à l'objet auquel la variable fait référence sont
libérées
uniquement une fois que Nothing lui a été affecté.
on voit tout de suite que le close et le nothing se rejoignent dans le
fait
que close ne fait que fermer l'objet alors que nothing ferme l'objet et
libère les ressources. ce qui veut dire dans la pratique:
1- tout objet ouvert doit être fermé lorqu'il n'est plus utilisé
2- la variable objet ne doit plus faire référence à l'objet réel lorsque
l'objet n'est plus utilisé, pour libérer les ressources.
3- Le fait d'affecter Nothing à une variable objet provoque un close
automatique de l'objet.
4- il est donc inutile de faire un close avant d'affecter Nothing.
le fait de faire:
rs.close
db.close
set rs = Nothing
set db = Nothing
ne fait pas plus f'effet que:
set rs = Nothing
set db = Nothing
mais rien n'interdit de faire le close et le Nothing, de la même façon
qu'il
n'est pas interdit de porter des bretelles et une ceinture en même
temps.
Le plus important restant quand même le fait que le Nothing doit être
impératif dès qu'on a terminé un travail avec un objet pour libérer les
ressources.
La lumière est-elle tombée sur toi ? si tant est que mes explications
soient
claires ?
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/
Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0
-bce47c8e0d99
"Laurent" <laurent_dick@gmx.ch> a écrit dans le message de news:
uGf2VeLyHHA.4004@TK2MSFTNGP05.phx.gbl...
| Bonjour / Bonsoir,
|
| J'ai une petite question d'ordre pratique
|
| Je définis mes accès au recordset comme suit :
|
| Dim ws as workspace
| Dim db as database
| Dim rs as recordset
|
| Set ws = dbengine.workspaces(0)
| Set db = ws.databases(0)
| Set rs = db.openrecordset("matable", dbopendynaset)
|
| ... code en parcourant les enregistrements, puis ...
|
| rs.close
| db.close
| ws.close
|
| Un set ws = nothing ou null est-il utile, si je fais bien un close ?
|
| A quoi sert ce "nothing" ? Merci d'éclairer ma pauvre lanterne.
|
| Excellente soirée,
| Laurent
|
|
|
|
Merci Raymond pour tes conseils avertis. Je vais donc en tenir compte en
mettant mon compte à jour (oulala sacré travail en perspective :o)
Excellente fin de semaine à toi,
Cordialement
/Laurent/
"Raymond [mvp]" wrote in message
news:Bonjour.
le close et la valeur Nothing sont deux choses différentes :
Close ferme un objet ouvert (ouvert par affectation à une variable
d'objet).La variable fait toujours référence à l'objet réel. Les ressources
mémoire
et système ne sont pas libérées.
Une alternative à l'utilisation de la méthode Close est d'attribuer à
une
variable d'objet la valeur Nothing.
Nothing est affecté à une variable faisant référence à un objet réel. On
utilise l'instruction Set pour attribuer Nothing à une variable objet.
Lorsque Nothing est attribué à une variable objet, cette dernière ne
fait
plus référence à l'objet réel (Close de l'objet). Les ressources mémoire
etsystème associées à l'objet auquel la variable fait référence sont
libéréesuniquement une fois que Nothing lui a été affecté.
on voit tout de suite que le close et le nothing se rejoignent dans le
faitque close ne fait que fermer l'objet alors que nothing ferme l'objet et
libère les ressources. ce qui veut dire dans la pratique:
1- tout objet ouvert doit être fermé lorqu'il n'est plus utilisé
2- la variable objet ne doit plus faire référence à l'objet réel lorsque
l'objet n'est plus utilisé, pour libérer les ressources.
3- Le fait d'affecter Nothing à une variable objet provoque un close
automatique de l'objet.
4- il est donc inutile de faire un close avant d'affecter Nothing.
le fait de faire:
rs.close
db.close
set rs = Nothing
set db = Nothing
ne fait pas plus f'effet que:
set rs = Nothing
set db = Nothing
mais rien n'interdit de faire le close et le Nothing, de la même façon
qu'iln'est pas interdit de porter des bretelles et une ceinture en même
temps.
Le plus important restant quand même le fait que le Nothing doit être
impératif dès qu'on a terminé un travail avec un objet pour libérer les
ressources.
La lumière est-elle tombée sur toi ? si tant est que mes explications
soientclaires ?
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/
Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0
-bce47c8e0d99
"Laurent" a écrit dans le message de news:
| Bonjour / Bonsoir,
|
| J'ai une petite question d'ordre pratique
|
| Je définis mes accès au recordset comme suit :
|
| Dim ws as workspace
| Dim db as database
| Dim rs as recordset
|
| Set ws = dbengine.workspaces(0)
| Set db = ws.databases(0)
| Set rs = db.openrecordset("matable", dbopendynaset)
|
| ... code en parcourant les enregistrements, puis ...
|
| rs.close
| db.close
| ws.close
|
| Un set ws = nothing ou null est-il utile, si je fais bien un close ?
|
| A quoi sert ce "nothing" ? Merci d'éclairer ma pauvre lanterne.
|
| Excellente soirée,
| Laurent
|
|
|
|