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 :

VB - Access - ADO


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Par défaut VB - Access - ADO
    Bonjour à tous,

    après deux jours de galère, plusieurs recherches infructueuses, je me permet de poser la question.

    Je réalise une interface VB travaillant avec une base Access.

    Dans "Projet>Référence", j'ai coché "Microsoft ActiveX Data Objects 2.8 Library"

    Voici ma partie de code

    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
     
    Public Sub Btn_Connect_Click()
    Dim BD_Connect As ADODB.Connection 'Variable de connection à la BD
    Set BD_Connect = New ADODB.Connection
     
    'Déclaration de la variable de connexion
    Dim Db_Path As String
    Db_Path = App.Path & "\Bdd\Bdd_Stock.mdb"
    'Définition du pilote de connexion
    BD_Connect.Provider = "Microsoft.Jet.Oledb.4.0"
    'Définition de la chaîne de connexion
    BD_Connect.ConnectionString = Db_Path
    'Ouverture de la base de données
    BD_Connect.Open
     
    Dim rst As ADODB.Recordset
    Dim Sql_Request As String
    Set rst = New ADODB.Recordset
    Sql_Request = "SELECT * FROM Local"
    rst.Open Sql_Request, BD_Connect
     
    While Not rst.EOF
     Lst_Tables.AddItem rst("Local.Loc_Name")
    Wend
    rst.Close
    End Sub
    J'ai le message d'erreur suivant:

    La méthode 'Open' de l'objet '_Recordeset' a échoué


    J'ai essayé différente version de la comme rst.Open mais toujours la même erreur.

    Merci de votre aide

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Bonjour,

    comment a été créée ta base "Bdd_Stock.mdb" ?

    Cela dit, j'ai peur que la propriété .ConnectionString de ta connexion soit incomplète.

    Edit : Encore que, tu n'as pas d'erreur lors de la connexion ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Par défaut
    Merci de ta réponse avant toute chose

    Donc la base a été créée sous Access

    La connexion est bien correcte car j'ai essayé la commande ci dessous et elle fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rst.Open "[Aff_Place]", BD_Connect, adOpenForwardOnly, adLockReadOnly, adCmdStoredProc

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Plus de problème donc ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Par défaut
    si car je souhaite pouvoir constuire les requête directement sour vb :/

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si j'ai bien compris quand tu veux ouvrir une table cela marche, mais pas avec la requête.

    Une idée, mais un ; à la fin de ta requête, dés fois cela vient de là.

    Starec

  7. #7
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 41
    Par défaut
    Salut,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Sub Btn_Connect_Click()
    Dim BD_Connect As ADODB.Connection 
    BD_Connect .Provider = "microsoft.jet.oledb.4.0"
    BD_Connect .ConnectionString = App.Path & "\Bdd\Bdd_Stock.mdb"
     
          BD_Connect .Open
    Dim rst As ADODB.Recordset
    Set rst = New ADODB.Recordset
    rst.Open "select * from Local", BD_Connect , adOpenDynamic, adLockOptimistic
    Essai çà.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Par défaut
    J'ai du modifier un peu le code car il me mettait des messages d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim BD_Connect As ADODB.Connection
    Set BD_Connect = New ADODB.Connection
    BD_Connect.Provider = "Microsoft.Jet.Oledb.4.0"
    BD_Connect.ConnectionString = App.Path & "\Bdd\Bdd_Stock.mdb"
     
          BD_Connect.Open
    Dim rst As ADODB.Recordset
    Set rst = New ADODB.Recordset
    rst.Open "select * from Local", BD_Connect, adOpenDynamic, adLockOptimistic
    Mais malheureusement, j'ai le même message d'erreur :/

    Citation Envoyé par Starec Voir le message
    Bonjour

    Si j'ai bien compris quand tu veux ouvrir une table cela marche, mais pas avec la requête.

    Une idée, mais un ; à la fin de ta requête, dés fois cela vient de là.

    Starec
    Lorsque je lance la requête directement sous vb, elle ne marche pas.
    Si j'utilise une requête crée sous access, elle passe.

    J'ai essayé avec le ; mais marche pas .. :/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [delphi7][access][ado]pb d'affichage des enregistrements
    Par alibabas dans le forum Bases de données
    Réponses: 8
    Dernier message: 29/07/2006, 18h46
  2. [Access & ADO.Net] Liste de choix
    Par oodini dans le forum Access
    Réponses: 12
    Dernier message: 24/06/2006, 17h57
  3. Access & ADO : Requête SQL multibases ?
    Par MaTHieU_ dans le forum Bases de données
    Réponses: 7
    Dernier message: 15/06/2006, 17h45
  4. pb de mise à jour différée avec ACCESS, ADO et DELPHI 7
    Par QAYS dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/01/2006, 08h15
  5. Compacter une BD Access - ADO
    Par Benoit30 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/09/2005, 21h10

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