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

Macros et VBA Excel Discussion :

Ouvrir une connexion ADODB bookmarkable sur Access


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut Ouvrir une connexion ADODB bookmarkable sur Access
    Bonjour à tous,

    J'ai besoin de rendre "bookmarkable" une connexion ADODB qui tape sur Access

    J'ai donc déclaré dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Const BACKENDDB_PATHFILE As String = "\\SVFRMARFILE01\DataBase.accdb"
    Public Const BACKENDDB_CNXSTRING As String = "Provider=Microsoft.ACE.OLEDB.12.0" & _
                                                ";Data Source=" & BACKENDDB_PATHFILE & _
                                                ";Persist Security Info=False;"
    Puis dans une fonction elle aussi dans un module, j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public function MyFunc
     Dim oCnx As New ADODB.Connection
     Dim oRecSet As New ADODB.Recordset
     
    With oCnx
            .ActiveConnection = BACKENDDB_CNXSTRING '--> ERREUR
            .CursorType = adOpenStatic '--> BookMark mais pas testé car plante ligne d'avant
            .Open
        End With
     
    '... code
     
    End function
    J'avais avant ça testé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With oCnx
            .CursorType = adOpenStatic '--> BookMark c'est ici que ça plantait 
            .Open BACKENDDB_CNXSTRING
        End With
    Par contre la commande ci-dessous fonctionne parfaitement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     oCnx.Open BACKENDDB_CNXSTRING

    Merci pour toute aide

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut
    La solution est de déclarer différemment le recordset

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    gsSQL = "SELECT * FROM Table"
        oRecSet.ActiveConnection = BACKENDDB_CNXSTRING
        oRecSet.CursorType = adOpenStatic
        oRecSet.Open gsSQL
    '... traitement
        oRecSet.Close : Set oRecSet = Nothing 'A faire si réutilisation du oRecSet avec une nouvelle requête dans la procèdure
    Et maintenant ça marche

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

Discussions similaires

  1. [XL-2010] Gestion des erreurs sur une connexion ADODB
    Par Amiral62 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/03/2016, 17h39
  2. Réponses: 0
    Dernier message: 07/01/2015, 10h28
  3. Comment ouvrir une connexion sur une BD FireBird
    Par colorid dans le forum Bases de données
    Réponses: 15
    Dernier message: 18/02/2014, 18h41
  4. Réponses: 0
    Dernier message: 04/03/2008, 16h58
  5. Ouvrir une popup non redimensionnable sur clique
    Par magic8392 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 14/09/2005, 09h44

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