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. je crois que pour afficher les données dans un grid ou sur les textes box il faut suivr mon exemple
    la table etant eleve les chomd (nom,prenom,code et datens)
    1) dans le module déclare

    Public DB As New ADODB.Connection
    Public rs As New ADODB.Recordset

    2) la form load

    Set cn = New ADODB.Connection
    Set DB = New ADODB.Connection
    cn.Open "provider=Microsoft.jet.OLEDB.4.0; data source=C:\Documents and Settings\Nekor-bit bureau\Mes documents\fiche.mdb;Persist Security Info=False"

    Private Sub Command1_Click()

    If Text1.Text <> "" Then
    On Error GoTo err
    If IsNumeric(Text1) = False Then
    Set DB = New ADODB.Connection
    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseServer 'peut etre pas utilisé
    rs.CursorLocation = adUseClient 'trés importante Sans cette ligne, ca genère une erreur 7004
    DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Nekor-bit bureau\Mes documents\fiche.mdb;Persist Security Info=False"
    rs.Open "select * from eleve where nom like '" & Text1.Text & "%'", DB, adOpenStatic, adLockOptimistic

    Text2.Text = rs!code
    Text3.Text = rs!nom
    Text4.Text = rs!prenom
    Text5.Text = rs!datens

    Set Adodc1.Recordset.DataSource = rs
    Set DataGrid1.DataSource = rs

    Text1.SetFocus
    End If
    Set DataGrid1.DataSource = rs
    err:
    End If

    bon courage
    1. par essaouiqui abdelhakim
  3. slt, convertit d'abord ta bdd en format access 97 puis tu fais:

    -demarrer
    -panneau de configuration
    -outils d'administration
    -sources de donnees odbc
    dans la boite qui s'affiche tu choisi "driver do microsoft access" puis clic sur "ajouter"
    -dans la nouvelle boite tu choisi source des donnees systemes
    - tu donne 1 nom à ta source
    -tu clic sur "selectionner la base de donnees"
    -tu choisi l'emplacement dans laquelle t'avais enregistrer ton projet
    -puis tu clic sur ok

    c'est l'approche ADO.
    1. salut,
      jai avancé un peu dans mon app, j'ai dessiné l'interface sur vb6 avec les boutons,zone de texte et tout ça.
      j'ai ajouté un adodc pour faire la liaison avec ma base mdb mais je n'arrive pas à trouver le code pour ajouter un enregistremenr sachant que la base contient déja des enregistrements.
      pouvez vous svp me montrer le chemin.
      j'ai lier l'adodc avec la base dans les propriétés mais je sais quoi faire encore.
      merci
      1. Salut , voici ce que tu dois faire :
        tu fais un double clic sur le bouton enregistrer pour taper le code qui va te permettre d'enregistrer tes données depuis vb :
        adodc.recordset.addnew()
        adodc.recordset!Code=txtCode.text
        adodc.recordset!Nom=txtNom.text
        ..........................
        .......................
        adodc.recordet.movenext
    2. salut pour que tu peux accédé a votre base de donne access il faut que tu convertis ta bas de donnes en access 97 si vous travaillez on visuel basic 6
      1. je suis une débutante en Access ET VB et j'essaye de créer une BDD alors j'ai commencer par la création des table formulaires et les etats et quelques requétes est ce que quelqu'un peut m'aider pour la suite ...merci beaucoup
        1. Bonjour tt le monde.

          j'ai installé VB 2008 et j'ai remarqué que le composant crystal report me manquer
          svp si qq'un px m'orienter comment je vais ajouter le crystal report au vb 2008 pour que je puisse travailler avec des etat .

          Merci d'avance.
          1. salut
            C'est simple tu doit utiliser office 2003 sa fonctionne parfaitement
            1. savez-vous utiliser la commande ADO à partir de la boîte à outil
              pour avoir accès à votre base de données?

              demander est plus réfléchit qu'être renfermer
              1. bonjour
                j'ai eu le même problème
                convertie ton fichier Access 2000 en 97 et la je pense que sa va marché
                cordialement
                1. Comment établire une connection entre VB6.0 et une Base de données Access?
                  contacter moi au mounem2010@yahoo.fr
                  1. Slt moi c ALBERT
                    AU fait j'ai un problème.
                    Je suis étudiant en IG option dévelopeur Application.
                    Mon projet est de monter une base de données sur acces et le rentre actif avec Visual Basic.
                    Compte tenu du programme de mes cours chargeé
                    J'aimerais que vous m'aider à réaliser mon projet en tant que guide
                    je vous remerci d'avance et bonne journée.
                    1. salut,je suis débutant en vb j'ai un problème de connexion de base de donnée avec une application vb6 voici mon code:

                      Private Sub Command1_Click()
                      With clt
                      .Index = "PrimaryKey" <---------- l'erreur est là!!
                      .Seek "=", num.Text
                      If .NoMatch Then
                      .AddNew
                      !numero_client = num.Text
                      .Update
                      End If
                      End With
                      End Sub

                      et le module standard :

                      Option Explicit
                      Public db As DAO.Database
                      Public clt As DAO.Recordset

                      Sub main()
                      Set db = DBEngine.OpenDatabase("C:\****\****\Base de données.mdb")
                      Set clt = db.OpenRecordset("client")
                      End Sub

                      voici mon e-mail: gezaak@yahoo.fr
                      merci
                      1. bonjour,
                        je voudrais créer un programme qui me permettrait de gérer un établissement scolaire, avec une base de donnée ACCESS et VB6. comment procéder?
                        j'avoue ne rien connaître en VB6 sinon des définitions théoriques.
                        si quelqu'un peut m'aider, je lui serais très reconnaissant. merci.
                        1. bonjour ,
                          qui peux me aider svp en ce qui concerne la connexion entre VB6 et access ?
                          j'ai des problème a me faire ça ...
                          c'est très urgent svp ...
                          1. je crois que pour afficher les données dans un grid ou sur les textes box il faut suivr mon exemple
                            la table etant eleve les chomd (nom,prenom,code et datens)
                            1) dans le module déclare

                            Public DB As New ADODB.Connection
                            Public rs As New ADODB.Recordset

                            2) la form load

                            Set cn = New ADODB.Connection
                            Set DB = New ADODB.Connection
                            cn.Open "provider=Microsoft.jet.OLEDB.4.0; data source=C:\Documents and Settings\Nekor-bit bureau\Mes documents\fiche.mdb;Persist Security Info=False"

                            Private Sub Command1_Click()

                            If Text1.Text <> "" Then
                            On Error GoTo err
                            If IsNumeric(Text1) = False Then
                            Set DB = New ADODB.Connection
                            Set rs = New ADODB.Recordset
                            rs.CursorLocation = adUseServer 'peut etre pas utilisé
                            rs.CursorLocation = adUseClient 'trés importante Sans cette ligne, ca genère une erreur 7004
                            DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Nekor-bit bureau\Mes documents\fiche.mdb;Persist Security Info=False"
                            rs.Open "select * from eleve where nom like '" & Text1.Text & "%'", DB, adOpenStatic, adLockOptimistic

                            Text2.Text = rs!code
                            Text3.Text = rs!nom
                            Text4.Text = rs!prenom
                            Text5.Text = rs!datens

                            Set Adodc1.Recordset.DataSource = rs
                            Set DataGrid1.DataSource = rs

                            Text1.SetFocus
                            End If
                            Set DataGrid1.DataSource = rs
                            err:
                            End If

                            bon courage

                            par essaouiqui
                          2. ecoute jamal
                            avec un data1 tu peut lier la base a vb par la propieté database name et puis en bas des propietés choisi la proprieté recordsource

                            par la suite
                            les zones de text text1,texte2 etc tu doit relier par data source et datafields
                            merci
                            par essaouiqui
                        2. assure toi d'abord que ta BD access est dans le bon repertoire.ensuite déclare une variable 'public con as ADODB.connection ds General'. essaye ensuite les instructions de connexion
                          • 1
                          • 2
                          • 3