Visual basic et base de données access

j'ai une base de données access et je n'arrive pas à y accéder par visual basic
ce dernier ne me permet pas d'ouvrir ma base de données access de office 2000

52 réponses

Résumé de la discussion

Une base de données Access 2000 ne peut pas être ouverte depuis VB6, avec des messages d'erreur évoquant la non reconnaissance du format ou l'échec de la connexion. Les réponses essentielles recommandent d’établir la connexion via ADODB ou DAO avec le provider Microsoft.Jet.OLEDB.4.0 et une chaîne de connexion adaptée, en indiquant le chemin vers le fichier .mdb et le nom de la base. Des conseils complémentaires préconisent d'activer les bibliothèques DAO ou ADODB adéquates dans le projet et de vérifier la compatibilité entre VB6 et le format Access 2000. En cas d'erreur persistante, il faut vérifier les droits d'accès au fichier, la version d’ADO/DAO et tester avec une base MDB minimale pour isoler l’origine du souci.

Bobot (l’IA à votre service)
  1. comment établire une connection entre VB6.0 et une Base de données Access?
    1. OUI moi j'aimerai bcp stp!
    2. j'ai une base de donnée access 2003 que je veux connecter à un programme exe.standard vb6
  2. Contact moi sur ghost_dog_jr@hotmail.com je te donnerais un tutoriel, et des conseils si tu le desir, car c'est un peu long a expliquer...
    1. salut ando , c'est trés gentil de ta part de m'avoir répondu
    2. Bjr ando stp je suis une débutant en programmation .j'ai crée une base de donnée sous access et comme je n'ai aucune notion en vb je n'arrive pas à faire fonctionner ma base alors je viens vers toi pour ke tu puisses m'aider
    3. salut moi salima lakhal j'ai un problem de comprend access et j'aime bien te assister moi ( to help me plz) ok mon msn safae_roubi@hotmail.fr contact me in this email i want to help me plz friends help me
    4. salut moi olive j' ai un problem de comprend pour créer visoul basic et basse de donnée et pourquai access 2007 il est tres comprique vous pauvez me donne la solution merc.
    5. pauvre boulet, tu peut pas écrire dans un post pour répondre à la communauté. Si il sait pas, il y en a d'autre ... c'est comme ça qu'on se retrouve avec des problèmes non résolu.

      trop long à écrire ? ce sera plus long de l'expliquer à chaque personne qui te le demanderont
  3. ;-))

    Quel est ton message d'erreur ?

    Ouvres tu la session via "As New Access.Application" ??

    As-tu pensé à créer un WorkSpace ?

    Bref, dis-en plus !!

    ;-))))

    Wild and Free
    1. salut
      merci de m'avoir répondu, le message d'erreur envoyé est bad format of data base et cela en créyant un controle data relié à la base de donnée access
  4. Salut,

    Pour eviter quelsques plantages, il faut que tu convertisse ta base de données sous ACCESS 97.

    Fais un test pour voir.

    A+
    1. tout d'abord je vous remercie pour vote réponse , c'est trés gentil de ta part et cette solution , je l'ai déjé essayé et ça marche , mais l'office installé sur les machines est la version 2000, donc je ne peux comme meme pas convertit à chaque fois , ce n'est pas professionnel , et je ne comprend pas pourquoi l'office 2000 est moin performant que la version 97
      1. réponse de majid pour salima
        c'est pas office 2000 qui est moins performant que office 97 c'est l'inverce le problème c'est que le contrôle data de visual basic ne connait pas les bases de données access 2000 donc pour résoudres le problème utilser le controle Adodc le pb sera résolu
    2. je travaille normalement avec VB et access envoies moi ton code pour voir

      *t'as mis un DATA controle
      *un DBGRID
      ou pas
      exemple

      tu declares de la façon suivante
      SET MO(le nom de la variable avec laquelle tu vas travailler) as database="le chemin d'acces a ta base)
      SET moo as database.recordset="le nom de la table"
      1. MERCIE TOUT DABORE JE SUIS DEBUTANT EN VB ET J'AI CRIEE UN PETIT PROJET DES FONCTIONNAIRES DANS LE QUELLE IL YA TOUS LES INFORMATIONS NOM PRENOM ETC...AVEC LA PHOTO POUR LA QUELLE J'AI TROUVEE LE PROBLEME AU MOUMENT DE LA JOUE D'UN NOUVEAU ENREGISTREMENT C'EST POUR CE LA JE VOUS DEMANDE DE M'AIDEE A TROUVEE COMMENT INSERET UNE IMAGE A L'AIDE D'UNE BOTTON AJOUT UNE IMAGE MERCI UNE DEUSIEME FOIS MOUMEN RAHAL
    3. salut moh
      en visuel basic j'ai lié mon programme à la base de données access2000 via le controle data, mais celui ci me signal une erreur d'acces à la base , c'est vraiment étonant surtout que ça marche tres bien avec access97 , je ne comprend plus rien , j'espére que vous pouver m'aider , je compte sur toi
      à trés bientot sur le net
      1. est-ce que t'as besoin d'afficher tout le contenu de la base de donnees ou tu veux juste travailler avec(faire de la recherche?)
        ça m'a fait le meme prob avec acces 2000 je crois qu'il y'a incompatibilite avec access2000
        mais je vais voir comment faire
      2. salut salima
        la solution de ton problème est d'utiliser le modele ADO pour lier la base données de Microsoft Access 2000 ou plus avec Visuel basic, mais pour relier la base de données Access 97 en utlisent le modéle DAO (DAta )
      3. @mbarekbonjours
        j'est trouvé un problème similaire à celle proposé par salima. mais le problème c'est d'avoir choisir les bonnes références a integrer. cher ami est ce que tu connais les reférences à ajouter pour pouvoir utliser l'ADO.
    4. desoler mes il faut changer le data il et incompatible avec le Acces2000
      et si tu veux plus d'explication sur le Probleme tu me contacte par mon adresse électronique pour avoire plus de detaille sur ton probleme, A+
      1. Salut,
        Je développe une application VB6 sur la plate forme d’un Windows 2000 qui est spécifique à une entreprise et je n’arrive pas à me connecter à la base que j’ai créé dans Access 2000. Il me dit qu’il ne reconnaît pas le format de la base. J’ai essayé avec d’autres codes mais rien à faire. Pouvez-vous m’aider ?
        Ici j’ai le message « La connexion n'a pas réussi,réessayez »
        Je vous envoie le code que j’ai utilisé :

        Option Explicit
        'Déclaration des variables globales
        'Global DbName As String
        Global Liberreur As String
        'Global OK As Integer

        Public Cnx As New ADODB.Connection
        Public Rst As New ADODB.Recordset
        Public Cmd As New ADODB.Command
        Sub main()
        'Cette procédure appelle la fonction d'ouverture de la BD et affiche la fenêtre d'acceuil.
        If OuvrirBase = True Then
        frmConnexion.Show
        Else
        MsgBox ("La connexion n'a pas réussi,réessayez")
        End If
        End Sub

        Public Function OuvrirBase() As Boolean
        'Cette fonction ouvre la BD Access 2000
        On Error GoTo Erreur

        Cnx.Provider = "Microsoft.Jet.Oledb.4.0"
        Cnx.ConnectionString = App.Path & "c:\db1.mdb"
        Cnx.Open
        Cmd.ActiveConnection = Cnx
        OuvrirBase = True
        Exit Function
        '\gbemich\GESPARC\Application\
        Erreur:
        Liberreur = "Erreur d'ouverture de la Base"
        OuvrirBase = False
        End Function

        Public Sub OuvrirRecord(StrSQL As String)
        'Cette procédure permet d'ouvrir toutes les tables de la BD. Ce code veut dire que pr ouvrir une table,c'est une requete SQL qu'il faut lui passer. ie un ''select''
        'Regarde ds l'aide au niveau de ces propriétés . tu verras ce à quoi elle servent

        Cmd.ActiveConnection = Cnx
        Cmd.CommandText = StrSQL
        Rst.CursorLocation = adUseClient
        Rst.CursorType = adOpenDynamic
        Rst.LockType = adLockPessimistic
        Rst.Open Cmd
        End Sub

        Public Sub FermerRecord()
        'Cette procédure permet de fermer toutes les tables de la BD
        On Error Resume Next
        Rst.Close
        Set Rst = Nothing
        Set Rst = New ADODB.Recordset
        End Sub

        Public Sub FermerBase()
        'Cette procédure permet de fermer la BD
        On Error Resume Next
        Cnx.Close
        Set Cnx = Nothing
        End Sub
        1. Vous pouvez aussi convertir la base de données en version inférieure, càd en version 97. Et tout ira mieux
        2. Bonjour Vignon je sais pas si tu as trouvé la solution mais je pense que le chemin de la BD n'est pas la bonne.
          essai plutôt :

          Cnx.ConnectionString = App.Path & "\\db1.mdb"

          car App.Path doit sûrement désigner le chemin de db1.mdb

          et "\" est un caractère spécial

          Enfin à voir
        3. Si tu n'arrive pas à te connecter à la base c'est parce que tu à concerti la base à la version 2000

          tu dois concertir la base de données à la version 97
          el la çà passera.

          C tout
        4. TU DOIS CONVERTIR TA BASE DE DONNEES EN FORMAT 97
          SOUS ACCESS
          ETAPES:
          TU CLIQUE SSUR LE MENU OUTILS
          UTILITAIRES DE BASES DE DONNEES
          CONVERTIR LA BASE DE DONNEES EN FORMAT 97
          tu donnes un nom au fichier
          dans ce cas tu auras 2 bases de données
          * format 2000
          *format 97

          sous vb :
          propriétés de DATA

          DATABASENAME : connecte toi à la base de données format 97 parce que le contrôle DATA ne reconnaît pas le format 2000
      2. salut a tous,
        je voudrais savoir des fonctions de base qui me permetterais de manipuler une base de donnée access2003 avec visuel C.
        voila merci a tous ceux qui m'aidersons^^
        a bientot.
        1. il faut que tu convertit ta base en format access 97 pour cela sur access va à outils puis utilitaire de bases de données puis fait la conversion est sur vb attache la avec le projet bonne chance
          1. slt
            je vous des cours pour savoire comment relier la base de donner a mon code b6 ,mon msn:tel_kamal@hotmail.fr
            et merci de votre aide j'attend votre rep
            kamal B
        2. salut,
          je suis un etudiant en informatique et je veu du soutien dans tous les cours d'informatique(excell,worth,visuel basic,programation,algorithm..car je n'ai pas le temps pour etre tjrs en classe , et merci pour vous et votre equipe qui soutin les autres humainement.
          1. vous chercher le ocx data objet 3.6 au lieu du 3.5 que l'office 2000 demande
            1. Ok salima, voila tout d'abord lorsque vous ouvrez VB sous le menu Projet-->référence-->cocher Microsoft DAO 2.5/3.51 compatibility library.

              Ensuite dans l'éditeur de programmation tapez les lignes de code suivantes:

              dim cnx as adodb.connection
              dim cmd as adodb.command
              dim rs as adodb.recordset

              sous la procédure form_load() tapez:

              set cnx=new adodb.connection
              set cmd=new adodb.command
              set rs=new adodb.recordset

              cnx.Provider="Microsoft.jet.oledb.4.0"
              cnx.connectionstring="votre base de données qui doit être dans le dossier du projet.mdb"
              rs.cursorlocation=adUseClient
              rs.cursortype=adopenDynamic
              rs.locktype=adlockPessimistic

              rs.open cmd

              Je vous souhaite bonne chance et bon courage

              Cordialement
              1. Je vois que tu métrise access 2007, peux tu me donner la solution pour convertir une basse de donnée access 97 en access 2003 sans problème. J'ai essayé toutes les méthodes possibles et inimaginable et .... toujours rien.
            2. ecoute je ne sais comment te lke dire expose bien ton probleme j ai tjrs travailer avec le vb et les bases acces donc si tu veux de l aide eclaire ton probleme
              1. slt j'aimerai si possibles avoir des cours performants avec exemples sur les bases de données créées avec le vb6 et access
                1. salut
                  je viens de lire ce forum mais toujours j'arrive pas à lié ma bd access et le vb6. j'ai une base de données formé de 4 tables et des requête. je veux en utilisant Vb afficher qluelques champs de la table, lmodifier, supprimer et ajouter des enregistrement, inserer des statiqtiques calculer déja par les requetes access....merci pour toute aide et je veux bien que vous m' envoyez des cours que vous jugez interessants
                  merci pour tout
                  1. salut salma
                    pour pouvoir te connecter a un BD acces 2000 tu doit utiliser l'ocx microsoft DAO 3.6 :
                    dans le menu projet click sur l'onglet references et essais de le trouver dans la liste des cases à cocher
                    si tu le trouve pas essais de le rechercher a l'aide de l'utilitaire de recherche de windows pour connaitre son chemin , aprés tu reviens sur ton onglet references et click sur parcourir pour retrouver ton ocx et ajoute le . bonne chance
                    c mon email : hanshans26@hotmail.com
                    au cas ou tu veux me signaler quelque chose parceque je me connecte que rarement
                    1. Je galère à mort,
                      Depuis deux jours je n'avance pas dans mon projet : j'ai un problème avec les variables booléennes, lorsque j'ajoute un adhérent, il n'y a aucun problème ça stock bien dans la base de données, mais pour des données que j'ai rentrés moi même à partir d'access, je n'arrive pas à le faire apparaitre dans les options boutton, j'ai essayer avec tout Vrai/Faux, oui/non, -1/0 false/true... aidez moi s'il vous plaît !!!!!!!!!!!!!!!!!
                  2. http://www.commentcamarche.net/forum/affich-227473-visual-basic-et-base-de-donnees-access
                    • 1
                    • 2
                    • 3