IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Plantage d'access sans explication


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 141
    Points : 61
    Points
    61
    Par défaut Plantage d'access sans explication
    Bonjour,
    Voila j'ai un problème depuis très longtemps mais hélas je n'ai jamais posté sur "developpez.net" car je voulais trouver par moi même et que j'ai très peu d'éléments pour vous expliquez.

    J'ai une base que j'ai améliorée et parfois Access plante de différentes façons:
    - il quitte Access sans aucun message d'erreur.
    - il quitte en plantant avec un message comme pile insuffisante et parfois avec une adresse mémoire en indiquant qu'il ne peut pas lire(Read) ou écrire(Written)

    Mais ce que je ne comprends pas, c'est qu'un coup Access fonctionne bien et après il plante ainsi de suite et la base plante pas toujours au même moment (requête,formulaire,etc...).
    Par exemple, Access plante et avec tout le pc quand par exemple, j'ai un formulaire et que je supprime un enregistrement, sachant qu'il n'y a aucun code qui s'exécute lors de l'effacement. Et bien sur quand on relance la base, boum cela fonctionne.

    J'ai même essaye de "Réparer une base Access par décompilation" mais cela n'a rien changé.

    Pouvez-vous m'aider car ça dure depuis des mois et je n'ai pas trouvé la cause.

    Merci
    PS: il y a le même problème quelque soit le pc et la version d'Access

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Points : 166
    Points
    166
    Par défaut
    Bonjour,

    As-tu essayer de créer une nouvelle base vide et d'importer tous tes objets dedans ?

    JMarc

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 141
    Points : 61
    Points
    61
    Par défaut
    Oui oui, j'ai deja essayé de faire cela car j'avais lu sur ce forum que des fois ca pouvait resoudre des problemes. De plus cela a fonctionné avec une autre base que j'avais fait, il y a un an.

    Mais pour cette base ci, j'ai epuisé mon stock d'idée.
    J'ai fait ca, la decompilation, essayer avec d'autres versions d'access.
    J'ai meme pensé que c'etait que les objets qui deconnait car je cassais pas le lien (set db=nothing, etc...) mais c'est toujours pas ca.

    Si vous avez des idées que je n'ai pas pensé, il ne faut pas hesiter.
    C'est vrai que je donne pas beaucoup d'éléments contrairement à d'habitude.
    Mais je ne peux pas vous fournir un morceau de code, car il fonctionne tres bien et ensuite il fonctionne plus et apres au ralenti etc...

    PS: je ne comprends vraiment plus rien

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Oui, là effectivement, c'est pas simple de t'aider...
    Mais il est probable que cela vienne du système : par exemple :
    Est-ce ta base plante sur n'importe quel Windows (XP-2000...) de quel service Pack (SP4-SP2...).
    Est que c'est un Runtime ?
    Est que les version Access est bien à jour (SP? Office)

    Si ça plante toujours au même endroit selon toi, n'y a t-il pas une image dans le formulaire ou un objet style contrôle OCX de type Tabs ou TreeView...
    C'est ce genre de détails qu'il faut que tu précises car effectivement, je comprends que cela puisse t'enerver...

    Argy

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 141
    Points : 61
    Points
    61
    Par défaut
    Ah zut, je me suis mal expliqué, desolé, mon probleme c'est que ca plante jamais au meme endroit et des fois ca plante pas etc.

    J'ai essayé uniquement sous Windows XP sp1 & sp2
    J'ai egalement essayé sous access 2000 (la base a été faite sous access 2000) et sous access Xp.

    Et je sais que sur mon poste (windows xp sp2+access 2000), qu'il y a toutes les mises à jour (pour les autres pc, je peux pas l'afirmer)

    donc en conclusion, j'ai deja regarder si c'etait pas un probleme avec les objets (recordset, querydef,Tabs,etc...) mais le probleme c'est que le plantage est tres aleatoire, ca plante sur n'importe quoi, meme la plus bete des instructions.

    Et donc j'ai essayé aussi que sur Xp (sp1 ou sp2) mais pas sur 2000 etc...

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Pile insuffisante !!!
    Quelle version d'Access s'agit-il ?

    Est-ce que tu pourrais prendre un poste client et tester par toi-même de façon aussi intensive que l'utilsateur avec "un mouchard" dans ton code là où tu penses que cela est susceptible de planter.

    Quand tu dis le code marche bien... En es-tu sûr(e) ?

    Argy

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 141
    Points : 61
    Points
    61
    Par défaut
    Quand il me dit pile insuffisante, cela se produit sur access 2000, sur les autres versions d'access j'ai pas assez essayé.

    Quand tu dis prendre un poste client et mettre des mouchards pour voir si cela fonctionne. Moi, je comprends essayer sur d'autres postes et par exemple mettre dans mon code des rappels pour savoir si ca arrive à cette instruction etc...
    Par exemple, un bout de code et mettre un "msgbox "phase 1 reussi" etc.
    Je sais pas si c'est une bonne methode mais je fais tout le temps cela pour tester (savoir si il est bien passer dans la fonction, boucle, etc...)

    Si tu penses aussi à cela, j'ai deja essayé, un coup ca marche et apres ca marche plus.
    par exemple, access se ferme sans aucun message quand je mets l'instruction "docmd.domenuitem" et tout de suite apres je relance ma base et ca fonctionne.
    J'ai lu que cette instruction est une vieille instruction de l'ancienne version d'access, je l'ai remplacé mais cela ne change rien car ca replante à n'importe quel instruction.

    Ca plante AUSSI quand il n'y a aucun module dans un formulaire,
    je lance un formulaire avec des enregistrements et boum, il ferme access.

    Quand je dis que mon code marche bien, c'est je le pense, je suis pas un amateur ni un pro, on est jamais sur à 100%.
    Mais la base ne plante jamais au meme endroit du code ou du formulaire ou de l'etat etc etc.

    C'est a croire que quelqu'un possede une telecommande et qui ferme access quand il veut

  8. #8
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    1/ Non pas de Msgbox... Ca perturbe le fonctionnement.
    Plutôt d'écrire dans un fichier et essayer d'intercepter le Err.Number...

    Que dit le journal des événements de Windows ?

    2/ Est-ce que la base a été convertie depuis une version antérieure ?

    3/ (je repose la qeustion) Est-ce qu'il y a des contrôles OCCX non standards ?

    Argy

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 141
    Points : 61
    Points
    61
    Par défaut
    1/ Comment fait on pour ecrire dans un fichier?

    Le journal des evenements de Windows, je suis pas allé voir, je regarderai.

    2/Oui la base d'origine a été fait sur Access 95 et converti depuis sur Access 2000

    3/J'ai du mal comprendre, les controles OCCX qu'est ce que c'est ?

    PS: argy, tu m'as donné une belle leçon. je ne connais pas tout ceci...

  10. #10
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Juste pour ma culture:

    le journal des événements de Windows ?
    Comment fait on pour le consulter ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 50
    Points : 59
    Points
    59
    Par défaut Plantage d'access sans explication
    Bonjour,

    Voici quelques pistes
    *****
    Fin de threads en raison d' un dépassement de pile :
    Augmentez l' espace pile de MISNPS dans system. ini. On clique sur " démarrer " - " exécuter " et on tape : " system.ini ". Dans la section [ 386 Enh ], si l' entrée n' existe pas déjà, on rajoute : MinSpS=8. Il faut redémarrer l' ordinateur afin que les changements soient pris en compte. Testez la modification sous Access et si le message apparaît encore, augmentez cette valeur par tranches de 4.
    A noter que ce message d' erreur peut être le fait d' un programme résident. Ouvrez l' Editeur de configuration système et décochez un à un les programmes chargés en mémoire jusqu' à localiser le programme fautif.

    *****
    Localisation des clefs et de leurs contenus

    Regedit - Dernière clé : HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit
    Access - Ouvrir :HKCU\Software\Microsoft\Office\9.0\Common\Open Find\Microsoft Access\Settings\Open\File Name MRU
    Access - Fichiers récents : HKCU\Software\Microsoft\Office\9.0\Common\Open Find\Microsoft Access\Settings\File New Database\File Name MRU
    **********
    La log Système qui contient les événements rapportés par les composants système (processes, kernel, drivers.
    Ce fichier se trouve dans : SystemRoot\System32\Config\SysEvent.evt
    Elle contient aussi les erreurs

    Il est conseillé de faire une copie et d'ouvrir la copie pour éviter toute corruption de systeme.

    [Humour]
    Sur un vieux coucou Portable w95 avec plusieurs milliers d'enregistrements, 40 excel ouverts et toutes les réfs chargés. Cela pouvait arriver [/Humour]

    @+zeste
    J'y connais rien mais je me soigne!
    CarDiem,CarpeNoctem
    cherche activement un emploi assistant (SI/Marketing/controle gestion) en IDF

  12. #12
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Points : 258
    Points
    258
    Par défaut
    Citation Envoyé par ft035580
    Juste pour ma culture:



    Comment fait on pour le consulter ?
    Il faut faire click droit sur poste de travail > Gerer et ca t'ouvre une nouvelle fenetre avec entre autres le journal des evenements

  13. #13
    Membre actif Avatar de Mariboo
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 254
    Points : 238
    Points
    238
    Par défaut
    Réponse bête pour branqueira : Peut-être en désinstallant Access et en le remettant cela pourrait-il marcher ?? mais peut-être l'a tu déjà fais ...

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 141
    Points : 61
    Points
    61
    Par défaut
    Mariboo, je l'ai deja fait reinstaller Access et meme mon pc a été totalement formaté et totalement reinstallé.

    Je vais essayé d'ecrire dans un fichier les erreurs et aussi regarder les controles OCCX.

    Merci argyronet

  15. #15
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    1/ Fichier log
    Pour écrire dans un fichier, utilise un FSO...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Sub EcrireJournalErreur(ByVal Erreur As String, ByVal Numero As String)
    Dim strFichierLog As String
    Dim oFSO As FileSystemObject
    Dim oStream As TextStream
    Dim strNouvelleLigneErreur As String
    
    
      strFichierLog = "C:\LogErreurAccess.log"
      strNouvelleLigneErreur = Now & vbCrLf & "Erreur " & Numero & " : " & _
      Erreur & vbCrLf
      Set oFSO = New FileSystemObject
      Set oStream = oFSO.CreateTextFile(strFichierLog, _
      IIf(oFSO.FileExists(strFichierLog), False, True), False)
      Set oStream = Nothing
      Set oStream = oFSO.OpenTextFile(strFichierLog, ForAppending, False, _
      TristateFalse)
      With oStream
        .Write strNouvelleLigneErreur
        .Close
      End With
      Set oFSO = Nothing
      Set oStream = Nothing
    End Sub
    
    Private Sub UneProcédure()
    Dim strErr As String
    Dim lngErr As Long
    Dim I As Integer
      On Error GoTo Erreur
      ' On provoque l'erreur 11 exprès...
    
      I = 10 / 0
      '''[Do anything else...
    
      ''' -------------------------
    
      ''' -------------------------
    
      ''' -------------------------
    
      ''' -------------------------
    
    Sortie:
      Exit Sub
    Erreur:
    strErr = Err.Source & " : " & Err.Description & " (" & Err.LastDllError & ")"
    lngErr = Err.Number
      MsgBox strErr, lngErr, "Erreur interne"
      EcrireJournalErreur strErr, Str(lngErr)
    End Sub
    Cela donne alors:
    01/09/2006 10:45:47
    Erreur 11 : Comptoir : Division par zéro (0)


    2/ Journal des événements
    Pour le journal des logs, ouvre la console d'administration...

    Argy

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 141
    Points : 61
    Points
    61
    Par défaut
    Argy, j'ai utilisé la procedure pour enregistrer dans un fichier de Christophe WARIN (http://warin.developpez.com/access/erreur/tutoriel1/)
    je pense qu'elle est comme la tienne.

    1/dans le fichier log, il n'a rien mis meme quand il plante.

    2/J'ai reussi à avoir une info dans le journal des evenements.

    j'obtiens :

    Application bloquée MSACCESS.EXE, version 9.0.0.2719, module bloqué hungapp, version 0.0.0.0, adresse de blocage 0x00000000.

    Pour plus d'informations, consultez le centre Aide et support à l'adresse http://go.microsoft.com/fwlink/events.asp.

    désolé mais je comprends pas trop
    Pouvez-vous m'aider

  17. #17
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Mmmmm....
    Plusieurs tentatives sont à essayer :

    1/ Bon essaye de prendre un poste qui plante (une victime de confiance ;wink et colle-lui les privilèges d'administrateur de son poste pour voir...
    2/ Essaye également ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" _
    "C:\Le chemin\Ta base de donnée.mdb(e)" /decompile
    Questions :
    1/ Dis-moi, est que ta base est protégée avec un MDW ?
    2/ Est-ce que ce sont des versions complètes d'Access sur les postes ou ce sont des Runtimes ?

    Argy

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 141
    Points : 61
    Points
    61
    Par défaut
    1/le reseau a été fait bizarrement car sur tout les postes tout le monde a les droits et son tous considérés comme administrateur (sauf, je crois que 2 postes)
    De mon poste j'ai droit à tout

    2/ La decompilation avec cette commande, je l'ai deja essayé, sans succes





    réponses aux questions :
    1/ la base n'est pas protégée avec un MDW

    2/ ce sont des versions d'access completes.

    ps: merci encore argy pour ton aide

  19. #19
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Si ce sont des versions complètes, est-ce tous les services pack sont à jour ?

    A vérifier ici:
    http://office.microsoft.com/fr-ca/of...e/default.aspx

    Argy

  20. #20
    Invité
    Invité(e)
    Par défaut Heuuu...


    Utilises-tu des transactions dans ta base ?

    Du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub StartTrans(MyForm As Form, Optional Filtre As String)
      ' Crée une zone de travail Microsoft Jet.
      Set WrkSp = DBEngine.CreateWorkspace("MyWs", "Admin", vbNullString, dbUseJet)
      Set xdb = WrkSp.OpenDatabase(CurrentDb.Name)
      WrkSp.BeginTrans
      Set RSt = xdb.OpenRecordset(MyForm.RecordSource, dbOpenDynaset)
      Set MyForm.Recordset = RSt
    End Sub
    Moi à une époque j'ai eu de gros soucis à cause de ça !

    A+

Discussions similaires

  1. [ACCESS] connexion base ACCESS sans VC++ ou BC++ ni wizard
    Par roce dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 18/03/2007, 23h13
  2. diminuer BD ACCESS sans compacter
    Par HE dans le forum Access
    Réponses: 10
    Dernier message: 26/06/2006, 09h14
  3. [ODBC] Utiliser une base de données Access sans les MFC
    Par Higestromm dans le forum Bases de données
    Réponses: 6
    Dernier message: 15/03/2005, 21h37
  4. [ODBC] Connexion MS-Access sans DSN
    Par Chap$ dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/11/2004, 17h16
  5. Envoi de mail & Plantage d'Access 2000
    Par gripoil dans le forum Access
    Réponses: 2
    Dernier message: 06/07/2004, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo