GBadry
Messages postés77Date d'inscriptionjeudi 26 avril 2007StatutMembreDernière intervention27 février 2014
-
16 mai 2008 à 17:08
GBadry
Messages postés77Date d'inscriptionjeudi 26 avril 2007StatutMembreDernière intervention27 février 2014
-
19 mai 2008 à 10:14
Salut les amis,
j'ai créé une application qui lit des données à partir d'un fichier, les stoke dans une base de données acces, puis elle traite ces données pour faire d'autres post-traitements.
tout fonctionne bien. on a même la possibilité d'enregistrer des projets à l'aide de cette base de données.
A un moment donné, chez le client, le lancement de l'application s'est bloqué en sortant le message d'erreur suivant:
Erreur d'exécution '3015':
'C:\...(chemin de la base)\Base.mdb' isn't an index in this table. Look in the Indexes collection of the TableDef object to determine the valid index names.
je ne sais pas mais je me suis dit que c'est peut être lié à un problème de mémoire si le fichier contient un nombre important d'informations à stocker dans la base. déjà j'ai eu ce problème de mémoire de access et je l'ai résolu partiellement. mais est ce que quelqu'un pourrait m'eclaircir les idées à propos de cette erreur. c'est un peu urgent!
merci pour votre aide les amis.
Losers are not those who try and fail, but those who even fail to try
cs_akim77
Messages postés73Date d'inscriptionlundi 12 avril 2004StatutMembreDernière intervention17 septembre 20084 16 mai 2008 à 18:21
Il faut mettre des traces dans ton code.
Par exemple des Call MsgBox("x") aux endroits strategiques ( en faisant varier x )
Ca te permettra de savoir où ton exe se termine.
GBadry
Messages postés77Date d'inscriptionjeudi 26 avril 2007StatutMembreDernière intervention27 février 20142 19 mai 2008 à 09:14
Bonjour,
Merci akim pour ton aide. juste une question pour mettre en oeuvre cette réparation. en fait l'arrêt brutal du PC peut se faire à n'importe quel moment de l'exécution. alors à quel endroit du code dois je mettre cette réparation?
merci.
Losers are not those who try and fail, but those who even fail to try
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_akim77
Messages postés73Date d'inscriptionlundi 12 avril 2004StatutMembreDernière intervention17 septembre 20084 19 mai 2008 à 10:03
Bonjour,
Si ton logiciel et le fichier Base.mdb sont sur un même PC, tu peux mettre la Reparation uniquement au premier accès à la Base.
Dans le cas contraire, il faut que tu gères les erreurs de tous les accès à la Base.
Par exemple basiquement comme çà:
Private Function Acces_a_ma_Base()
On Error GoTo Erreur
......ton code d'accès à la base
Exit Function
Erreur:
If Err.Number = 3015 then DBEngine.RepairDatabase ("C:\...(chemin de la base)\Base.mdb")
End Function