J'ai récupéré la gestion d'une base access énorme (+100Mo, environ 50000
lignes de code...).
Quelque soit la méthode utilisée, access ne se ferme pas proprement : il
subsiste toujours une cession (invisible ou pas) qui empeche de relancer
l'application (tant que l'on a pas tué la cession à partir du gesitionnaire
de taches.
J'ai appliqué les solutions suivantes :
. allocations de mémoire mise à nothing (j'ai passé le code dans 2
analyseurs successifs)
. test du style "if truc then " transformés en "if truc=true then"
. MAJ d'access
Je suis vraiment à bout et j'accepte toutes les idées!
Je suis sous access 2K et j'utilise nottament la référence mousewheell (pour
bloquer la roulette de la souris)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jessy Sempere [MVP]
Bonjour
Le problème vient sûrement que tu dois créer des objets dans ton code que tu libères mal...
Genre Recordset, ou Application, ... Lorsque tu crées un objet, il faut le libérer à la fin de ton code en faisant : set tonRst = nothing
-- @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "Air-1" <erwan[POINT][POINT]net> a écrit dans le message news: eM5#
Bonjour,
J'ai récupéré la gestion d'une base access énorme (+100Mo, environ 50000 lignes de code...). Quelque soit la méthode utilisée, access ne se ferme pas proprement : il subsiste toujours une cession (invisible ou pas) qui empeche de relancer l'application (tant que l'on a pas tué la cession à partir du gesitionnaire
de taches.
J'ai appliqué les solutions suivantes : . allocations de mémoire mise à nothing (j'ai passé le code dans 2 analyseurs successifs) . test du style "if truc then " transformés en "if truc=true then" . MAJ d'access
Je suis vraiment à bout et j'accepte toutes les idées! Je suis sous access 2K et j'utilise nottament la référence mousewheell (pour
bloquer la roulette de la souris)
Merci merci MERCI d'avance.
Erwan
Bonjour
Le problème vient sûrement que tu dois créer des objets dans ton
code que tu libères mal...
Genre Recordset, ou Application, ...
Lorsque tu crées un objet, il faut le libérer à la fin de ton code
en faisant :
set tonRst = nothing
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Air-1" <erwan[POINT]poudespub@laposte[POINT]net> a écrit dans le message
news: eM5#Kze8EHA.2804@TK2MSFTNGP15.phx.gbl...
Bonjour,
J'ai récupéré la gestion d'une base access énorme (+100Mo, environ 50000
lignes de code...).
Quelque soit la méthode utilisée, access ne se ferme pas proprement : il
subsiste toujours une cession (invisible ou pas) qui empeche de relancer
l'application (tant que l'on a pas tué la cession à partir du
gesitionnaire
de taches.
J'ai appliqué les solutions suivantes :
. allocations de mémoire mise à nothing (j'ai passé le code dans 2
analyseurs successifs)
. test du style "if truc then " transformés en "if truc=true then"
. MAJ d'access
Je suis vraiment à bout et j'accepte toutes les idées!
Je suis sous access 2K et j'utilise nottament la référence mousewheell
(pour
Le problème vient sûrement que tu dois créer des objets dans ton code que tu libères mal...
Genre Recordset, ou Application, ... Lorsque tu crées un objet, il faut le libérer à la fin de ton code en faisant : set tonRst = nothing
-- @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "Air-1" <erwan[POINT][POINT]net> a écrit dans le message news: eM5#
Bonjour,
J'ai récupéré la gestion d'une base access énorme (+100Mo, environ 50000 lignes de code...). Quelque soit la méthode utilisée, access ne se ferme pas proprement : il subsiste toujours une cession (invisible ou pas) qui empeche de relancer l'application (tant que l'on a pas tué la cession à partir du gesitionnaire
de taches.
J'ai appliqué les solutions suivantes : . allocations de mémoire mise à nothing (j'ai passé le code dans 2 analyseurs successifs) . test du style "if truc then " transformés en "if truc=true then" . MAJ d'access
Je suis vraiment à bout et j'accepte toutes les idées! Je suis sous access 2K et j'utilise nottament la référence mousewheell (pour
bloquer la roulette de la souris)
Merci merci MERCI d'avance.
Erwan
MB
Pour tuer le processus:
Avec WMI (Windows 2000 et XP, c'est déjà là, W98 et NT4, il faut l'ajouter au système d'exploitation), on peut démarrer et tuer un processus, même sur un autre PC, en autant qu'on en a le droit. Inclure une référence à "Microsoft WMI Scripting" et voici ce qui démarre, et termine, Notepad, sur un PC éloigné (W2000 ou XP) appelé Agannazar, en autant que vous ayez les privilèges réseau appropriés : ========== Public Sub RemoteEx() Dim process As WbemScripting.SWbemObject Dim processID As Long Dim result As Long Set process GetObject("winmgmts:{impersonationLevel=impersonate}!Agannazarrootcimv2: Win32_Process") result = process.Create("notepad", Null, Null, processID) End Sub
Public Sub StopNotePad() Dim objs As WbemScripting.SWbemObjectSet Dim obj As WbemScripting.SWbemObject Set objs = GetObject("winmgmts:Agannazar").ExecQuery("SELECT * FROM Win32_Process WHERE Name='Notepad.exe'") For Each obj In objs Debug.Print obj.Terminate Next obj End Sub A+ MB '============== "Jessy Sempere [MVP]" a écrit dans le message news: 41da4977$
Bonjour
Le problème vient sûrement que tu dois créer des objets dans ton code que tu libères mal...
Genre Recordset, ou Application, ... Lorsque tu crées un objet, il faut le libérer à la fin de ton code en faisant : set tonRst = nothing
-- @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "Air-1" <erwan[POINT][POINT]net> a écrit dans le message news: eM5#
Bonjour,
J'ai récupéré la gestion d'une base access énorme (+100Mo, environ 50000 lignes de code...). Quelque soit la méthode utilisée, access ne se ferme pas proprement : il subsiste toujours une cession (invisible ou pas) qui empeche de relancer l'application (tant que l'on a pas tué la cession à partir du gesitionnaire
de taches.
J'ai appliqué les solutions suivantes : . allocations de mémoire mise à nothing (j'ai passé le code dans 2 analyseurs successifs) . test du style "if truc then " transformés en "if truc=true then" . MAJ d'access
Je suis vraiment à bout et j'accepte toutes les idées! Je suis sous access 2K et j'utilise nottament la référence mousewheell (pour
bloquer la roulette de la souris)
Merci merci MERCI d'avance.
Erwan
Pour tuer le processus:
Avec WMI (Windows 2000 et XP, c'est déjà là, W98 et NT4,
il faut l'ajouter au système d'exploitation), on peut démarrer et
tuer un processus, même sur un autre PC, en autant qu'on en a
le droit. Inclure une référence à "Microsoft WMI Scripting" et
voici ce qui démarre, et termine, Notepad, sur un PC éloigné
(W2000 ou XP) appelé Agannazar, en autant que vous
ayez les privilèges réseau appropriés :
========== Public Sub RemoteEx()
Dim process As WbemScripting.SWbemObject
Dim processID As Long
Dim result As Long
Set process GetObject("winmgmts:{impersonationLevel=impersonate}!\Agannazarrootcimv2:
Win32_Process")
result = process.Create("notepad", Null, Null, processID)
End Sub
Public Sub StopNotePad()
Dim objs As WbemScripting.SWbemObjectSet
Dim obj As WbemScripting.SWbemObject
Set objs = GetObject("winmgmts:\Agannazar").ExecQuery("SELECT * FROM
Win32_Process WHERE
Name='Notepad.exe'")
For Each obj In objs
Debug.Print obj.Terminate
Next obj
End Sub
A+
MB
'==============
"Jessy Sempere [MVP]" <jessy.sempere@prg.sncf.fr> a écrit dans le message
news: 41da4977$1@news.sncf.fr...
Bonjour
Le problème vient sûrement que tu dois créer des objets dans ton
code que tu libères mal...
Genre Recordset, ou Application, ...
Lorsque tu crées un objet, il faut le libérer à la fin de ton code
en faisant :
set tonRst = nothing
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Air-1" <erwan[POINT]poudespub@laposte[POINT]net> a écrit dans le message
news: eM5#Kze8EHA.2804@TK2MSFTNGP15.phx.gbl...
Bonjour,
J'ai récupéré la gestion d'une base access énorme (+100Mo, environ 50000
lignes de code...).
Quelque soit la méthode utilisée, access ne se ferme pas proprement : il
subsiste toujours une cession (invisible ou pas) qui empeche de relancer
l'application (tant que l'on a pas tué la cession à partir du
gesitionnaire
de taches.
J'ai appliqué les solutions suivantes :
. allocations de mémoire mise à nothing (j'ai passé le code dans 2
analyseurs successifs)
. test du style "if truc then " transformés en "if truc=true then"
. MAJ d'access
Je suis vraiment à bout et j'accepte toutes les idées!
Je suis sous access 2K et j'utilise nottament la référence mousewheell
(pour
Avec WMI (Windows 2000 et XP, c'est déjà là, W98 et NT4, il faut l'ajouter au système d'exploitation), on peut démarrer et tuer un processus, même sur un autre PC, en autant qu'on en a le droit. Inclure une référence à "Microsoft WMI Scripting" et voici ce qui démarre, et termine, Notepad, sur un PC éloigné (W2000 ou XP) appelé Agannazar, en autant que vous ayez les privilèges réseau appropriés : ========== Public Sub RemoteEx() Dim process As WbemScripting.SWbemObject Dim processID As Long Dim result As Long Set process GetObject("winmgmts:{impersonationLevel=impersonate}!Agannazarrootcimv2: Win32_Process") result = process.Create("notepad", Null, Null, processID) End Sub
Public Sub StopNotePad() Dim objs As WbemScripting.SWbemObjectSet Dim obj As WbemScripting.SWbemObject Set objs = GetObject("winmgmts:Agannazar").ExecQuery("SELECT * FROM Win32_Process WHERE Name='Notepad.exe'") For Each obj In objs Debug.Print obj.Terminate Next obj End Sub A+ MB '============== "Jessy Sempere [MVP]" a écrit dans le message news: 41da4977$
Bonjour
Le problème vient sûrement que tu dois créer des objets dans ton code que tu libères mal...
Genre Recordset, ou Application, ... Lorsque tu crées un objet, il faut le libérer à la fin de ton code en faisant : set tonRst = nothing
-- @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "Air-1" <erwan[POINT][POINT]net> a écrit dans le message news: eM5#
Bonjour,
J'ai récupéré la gestion d'une base access énorme (+100Mo, environ 50000 lignes de code...). Quelque soit la méthode utilisée, access ne se ferme pas proprement : il subsiste toujours une cession (invisible ou pas) qui empeche de relancer l'application (tant que l'on a pas tué la cession à partir du gesitionnaire
de taches.
J'ai appliqué les solutions suivantes : . allocations de mémoire mise à nothing (j'ai passé le code dans 2 analyseurs successifs) . test du style "if truc then " transformés en "if truc=true then" . MAJ d'access
Je suis vraiment à bout et j'accepte toutes les idées! Je suis sous access 2K et j'utilise nottament la référence mousewheell (pour