OVH Cloud OVH Cloud

fermeture access récalcitrante HEEEELLP!!!

2 réponses
Avatar
Air-1
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

2 réponses

Avatar
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




Avatar
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