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

VB 6 et antérieur Discussion :

[VB6] Erreur pilote ISAM avec objet Data


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 17
    Points
    17
    Par défaut [VB6] Erreur pilote ISAM avec objet Data
    Bonjour à tous

    Je vous explique mon problème rapidement. J'ai le message "3170 Pilote ISAM introuvable". J'ai vérifié mes dlls et elles semblent à jour. Mon environnement est Windows XP SP2, et VB6 avec SP6.
    Infos supplémentaires je suis nouveau dans la société et je découvre le programme

    But de la manip... mettre à jour une base Access 2003 à l'aide de fichiers TXT formatés.

    Sur ma form j'ai 4 contrôles Data.
    Voici le code de Form_Load :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Form_Load()
      DatPrimaryRS.DatabaseName = "C:\BilanSocial"
      Data1.DatabaseName = MdiBase
      Data2.DatabaseName = MdiBase
      Data3.DatabaseName = MdiBase
    End Sub
    Les fichiers TXT se trouvent dans le répertoire "C:\BilanSocial" et MdiBase contient le chemin de ma base Access.

    Voici le code de Form_Activate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub Form_Activate()
        'On determine la collectivite à traiter
        DatPrimaryRS.RecordSource = "Collectivite"
        DatPrimaryRS.Refresh
    L'erreur se produit sur DatPrimaryRS.Refresh.

    Pouvez vous m'indiquer d'où vient le problème ? De nouvelles pistes à regarder ?
    Merci d'avance

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    ouille ! plusieurs causes possibles pour le même message !
    on y va :
    1) As-tu téléchargé SP5 pour VB6 ? si non : fais-le
    2) le pilote ISAM est nécessaire pour attacher des tables externes (tables autres que ODBC ou bases de données Microsoft Jet).
    3)Une entrée de la base de registre n'est peut-être pas correcte. Cette erreur survient, entre autres, si on utilise une base de données externe Paradox, alors que l'entrée Paradox pointe sur un répertoire ou un pilote inexistant. Il faut alors corriger le registre et recommencer l'opération.
    4) L'une des entrées de la base de registre pointe peut-être vers une unité de réseau alors que ce réseau n'est pas connecté. s'assurer de ce que le réseau est disponible et recommencer l'opération.
    5) choisir dans la liste des valeurs possibles de la propriété "connect" du contrôle "Data" (DAO), ce qui correspond bien à la version du SGBD de la base de données utiliisée
    (préférer "Access" à "Access 2000")
    il faut de la patience et quelques manoeuvres d'essai
    commence par la propriété Connect (souvent fautive). Dis-nous ce qu'elle contient, d'une part, et quel est le système de SGDB que tu utilises, d'autre part

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Salut Jmfmarques

    Citation Envoyé par jmfmarques
    1) As-tu téléchargé SP5 pour VB6 ?
    Bin j'ai téléchargé et installé le SP6...
    Me faut il le SP5 ? Le 6 ne contient pas le 5 ?

    Citation Envoyé par jmfmarques
    4) L'une des entrées de la base de registre pointe peut-être vers une unité de réseau alors que ce réseau n'est pas connecté.
    L'appli fonctionne en mono poste. Donc pas de soucis sur les entrées de la base de registre. Du moins je pense

    Citation Envoyé par jmfmarques
    (préférer "Access" à "Access 2000")
    il faut de la patience et quelques manoeuvres d'essai
    commence par la propriété Connect (souvent fautive). Dis-nous ce qu'elle contient, d'une part, et quel est le système de SGDB que tu utilises, d'autre part
    La propriété Connect était renseignée avec la valeur "Access" -> Erreur ISAM. J'ai passé le SP6 et modifié la propriété par "Access2000". Mais toujours la même erreur
    Et dernière info, c'est l'appli VB6 qui gère la base et les tables. Mais comme il y a plusieurs sites, il faut qu'il y ait possiblité d'importer des infos via ces fichiers TXT formatés.

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Mais comme il y a plusieurs sites, il faut qu'il y ait possiblité d'importer des infos via ces fichiers TXT formatés
    .
    que sont ces sites ?
    A quel stade celà bloque ? Ne serait-ce pas à celui de la récupération des données TXT (rien donc à voir avec Access à ce niveau) ?
    Ne peux-tu pas récupérer ces données TXT dans un tableau, dans un 1er temps (donc sans connexion access) avant tout traitement de mise à jour ?
    Je ne vois en fait pas encore à quel stade tu en es : celui de la récupération ou celui de la mise à jour.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    En ce qui concerne les sites, il s'agit de mairies (par exemple).
    Le logiciel est un logiciel "ancien" développé en vb3. Cette version fonctionne très bien.
    Le but est de le faire évoluer en VB6. La majeure partie est effectuée et il ne reste plus qu'à corriger les derniers problèmes et apporter de petites évolutions.

    Je découvre le logiciel depuis hier et je suis confronté à ce problème concernant l'importation.

    Ce que je peux déjà dire (après vérification) c'est que les fichiers sont biens présents et bien formatés et qu'il s'agit d'une base Access2003. Mais de toutes façons cela palnte à l'accès des fichiers

    Le DatPrimaryRS gère la connection pour les fichiers (Connect à "Text")
    Le Data1 gère la connection à la base Access pour l'import (Connect à "Access")
    Le Data2 gère la connection à la base Access pour les erreurs d'import (Connect à "Access")
    Le Data3 gère la connection à la base Access pour tester l'existance d'éléments (Connect à "Access")

    J'espère que c'est clair ?

  6. #6
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    quand tu te connectes à tes fichiers Texte, tu mets bien la propriété connect à text; ?
    (Le point virgule est ici indispensable)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Oui le ; est bien présent C'est un oubli de ma part

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Je viens de voir que concernant le moteur de base de données Microsoft Jet 4.0, dans la base de registre, la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text\Win32 pointe le fichier C:\WINDOWS\system32\mstext40.dll et celui ci n'est pas présent.
    Mon problème peut il venir de là ?
    Et me faut il rajouter cette Dll ?
    Merci

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Méa culpa Il est bien présent

  10. #10
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    De retour :
    Ce qui me frappe, c'est que tout tournait bien avec VB3.
    1) Quand cette appli a-elle tourné sous VB3 pour la dernière fois ?
    2) as-tu bien "repris" toutes les mêmes références, dans ton projet ?

    Après réflexions au frais :
    J'ouvrirais un tout petit projet avec, pour commencer, une tentative de connexion access, pour voir si le problème est là
    Je recommencerais ensuite, mais cette fois-ci avec une connexion "Text"

    Celà me permettrait de mieux identifier les raisons du message ""3170 Pilote ISAM introuvable". "

    Peux-tu commencer celà et nous dire ?
    :

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Tout d'abord merci à toi de jeter un coup d'oeil sur mon problème

    Ensuite et dans l'ordre :

    1/ Cette appli est toujours utilisé actuellement.

    2/ Je ne peux pas te dire étant donné que je découvre le logiciel depuis hier. Je remplace ceux qui ont développé l'appli sous VB3 et qui forcement ne sont plus là. Et pour corser un peu le tout, pratiquement aucune doc de dispo, uniquement du code

    3/ Je t'ai devancé sur le test concernant l'accés aux fichiers. J'ai ouvert un nouveau projet et mis un contrôle Data1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub Form_Load()
    Data1.DatabaseName = "C:\Bilan"
    Data1.Refresh
    End Sub
    L'accès à la base "Data1.refresh" me génère l'erreur

    Je vais faire de même pour l'accès à une base Access 2003 et je te tiens au courant.

    Sinon j'ai vérifié toutes mes versions et elles semblent correctes :
    Windows XP SP2
    Visual Basic 6.0 SP6
    MDAC 2.8
    Microsoft Jet 4.0
    Access 2003

    Peux tu tester rapidement l'accès aux fichiers sur ta machine avec le code que j'utilise et me dire si tu génères la même erreur ?

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Ok pour l'accés à une base Access 2003 !!!
    Cela ne me génère aucune erreur

  13. #13
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Bon ! C'est donc bien l'accès aux données Texte qui est seul concerné : voilà qui divise déjà le problème en deux ! Bonne chose

    Maintenant, et puisque tu me dis que tu as toujouirs accès au projet sous VB3 :

    Quand je te parle de références, je me réfère à celles du projet lui-même

    Je ne me rappelle plus sous VB3 mais celà n'a pas du tellement changer :

    Projet ===>> Références (voir celles qui sont cochées) puis voir si ces références sont également cochées dans le projet VB6
    courage.

  14. #14
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    désolé mais je ne comprends pas cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Data1.DatabaseName = "C:\Bilan"
    il est ou le nom de labase.mdb ?

    j'ai raté qque chose ??
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par ThierryAIM
    il est ou le nom de labase.mdb ?
    j'ai raté qque chose ??
    Oui
    La base c'est Bilan et à l'intérieur on trouve les fichiers TXT qui sont les tables. Enfin c'est comme ça que je l'interprète
    Et le but est de récupérer ces infos pour les injecter dans une base Access .mdb.

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par jmfmarques
    Maintenant, et puisque tu me dis que tu as toujouirs accès au projet sous VB3 :
    Quand je te parle de références, je me réfère à celles du projet lui-même

    Je ne me rappelle plus sous VB3 mais celà n'a pas du tellement changer :

    Projet ===>> Références (voir celles qui sont cochées) puis voir si ces références sont également cochées dans le projet VB6
    courage.
    Salut Jmfmarques
    L'appli développée sous VB3 fonctionne, mais je n'ai pas les sources Causes : rachat de la société, plus les développeurs et appli tombée aux oubliettes depuis plusieurs années

    J'ai fait le test sur mon pc hier soir et même problème...

    As tu pu faire le test de ton coté ?

    Et "Message" à toutes âmes charitables qui liront ce message... Pouvez faire le test rapidement et si, parmis vous, cela fonctionne chez quelqu'un, peut il m'aiguiller
    Merci

    Un répertoire TEST sur la racine avec un fichier texte à l'intérieur.
    Une Form avec un contrôle Data.
    Et le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub Form_Load()
    Data1.DatabaseName = "C:\TEST"
    Data1.Refresh
    End Sub

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Bin maintenant ça fonctionne Pourtant je n'ai fait aucune modif supplémentaire :
    J'ai simplement exécuté le code de l'ancien programme et lorsque je suis revenu sur le nouveau code ... cela a fonctionné : : :

    Est ce qu'au chargement de l'ancien programme, VB a pu me modifier des références automatiquement ?

  18. #18
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    A saouar !
    Mystère et boule gomme en ce qui me concerne !
    A moins que tu n'aies procédé à une réinstallation totale de l'ancien programme, ce qui aura pu entraîner l'installation de dll nécessaires.
    A moins également qu'après avoir procédé à une mise à jour de VB, tu n'aies pas relancé ta machine après et que ces modifs n'aient été prises en compte qu'au relancement !
    Content pour toi, en tout cas

  19. #19
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par ThierryAIM
    désolé mais je ne comprends pas cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Data1.DatabaseName = "C:\Bilan"
    il est ou le nom de labase.mdb ?

    j'ai raté qque chose ??
    C'est la même syntaxe que pour les "bases" dBase (fichiers .dbf).

    Le répertoire c'est la "base" et les fichiers sont les "tables".
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par jmfmarques
    A moins que tu n'aies procédé à une réinstallation totale de l'ancien programme, ce qui aura pu entraîner l'installation de dll nécessaires.
    Non non, juste ouvert et compilé le projet ... : : :

    Citation Envoyé par jmfmarques
    A moins également qu'après avoir procédé à une mise à jour de VB, tu n'aies pas relancé ta machine après et que ces modifs n'aient été prises en compte qu'au relancement !
    Non plus, la machine avait été redémarrée !!!

    Le plus étrange est que j'avais aussi cette erreur en faisant Compléments - Gestionnaires de données - Fichier - Ouvrir du base de données - Fichiers textes ... Autrement dit, sans même passer par du code : : :

    C'est pour ça que je demande si l'ouverture d'un ancien projet peut mettre à jour des références ?

Discussions similaires

  1. Erreur PLS-00103 avec LOAD DATA INFILE
    Par Reivilo35 dans le forum PL/SQL
    Réponses: 3
    Dernier message: 22/03/2012, 15h59
  2. Erreur Automation -2147417848 avec objet de type SSUltraGrid
    Par krugarka dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 24/10/2007, 10h29
  3. Msg d'erreur "Pilote ISAM Introuvable"
    Par loverdev dans le forum VB.NET
    Réponses: 2
    Dernier message: 23/05/2007, 08h26
  4. Acces 97 erreur pilote ISAM
    Par lololoic dans le forum Access
    Réponses: 2
    Dernier message: 04/12/2006, 11h55
  5. [VB6] access Pilotes ISAM?
    Par Alex35 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 06/06/2006, 13h22

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