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 :

Problemme de connexion a une base de donnée depuis excel en vba [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2002
    Messages : 110
    Par défaut Problemme de connexion a une base de donnée depuis excel en vba
    Bonjour a vous tous
    cela fait 2 jours que je tourne en rond sans trouver de solution a mon erreur
    si quelqu'un aurait une idée
    merci de votre aide

    Je fais une connexion a une base données de puis Excel en vba
    suivant le code suivant

    avec BDD = "\\hihhstr003\data\CC\dat\GMAO\Test_BaseAccess.accdb", la connexion s'établis bien et pas d'erreur

    avec BDD = "\\hihhstr003\data\CC\dat\GMAO\Gmao.accdb" plantage et message d'erreur Voir image

    Nom : Code_Erreur.jpg
Affichages : 119
Taille : 29,2 Ko

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    Function Query(Req As String, Optional Head As Byte = 1) As Long
    Dim Cnx As Object, Rst As Object
    Dim T As Variant, Col_SQL As Integer, i As Long, j As Long
     
    BDD = "\\hihhstr003\data\CC\dat\GMAO\Gmao.accdb"
    'BDD = "\\hihhstr003\data\CC\dat\GMAO\Test_BaseAccess.accdb"
     
        On Error GoTo errhdlr
        Set Cnx = CreateObject("ADODB.Connection")
        Cnx.provider = "MSDASQL"
        Cnx.Open "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" & BDD
     
        If Left(Req, 6) = "SELECT" Then
            Set Rst = CreateObject("ADODB.Recordset")
            Rst.Open Req, Cnx, 3
     
            Col_SQL = Rst.Fields.Count - 1
            If Head = 1 Then
                ReDim Rcd(Col_SQL, 0)
                For i = 0 To Col_SQL
                    Rcd(i, 0) = Rst.Fields(i).Name
                Next i
            End If
     
            Query = Rst.RecordCount
            If Not Query = 0 Then
                If Head = 1 Then ReDim Preserve Rcd(Col_SQL, Query) _
                Else ReDim Rcd(Col_SQL, Query - 1)
                ReDim T(Col_SQL, Query - 1)
                Rst.MoveFirst
                T = Rst.GetRows
                For i = 0 To UBound(T, 1)
                    For j = 0 To UBound(T, 2)
                        Rcd(i, j + Head) = IIf(IsNull(T(i, j)), "", T(i, j))
                    Next j
                Next i
            End If
        Else
            Cnx.Execute Req
            Query = 0
        End If
     
        Cnx.Close
        Set Rst = Nothing
        Set Cnx = Nothing
        Exit Function
     
    errhdlr:
        If Not Rst Is Nothing Then If Rst.State = 1 Then Rst.Close
        If Not Cnx Is Nothing Then If Cnx.State = 1 Then Cnx.Close
        Set Rst = Nothing
        Set Cnx = Nothing
        Query = -1
        MsgBox ("Code Erreur : " & Err.Number & vbCrLf & "Description : " & Err.Description)
    End Function

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With CreateObject("Adodb.connection")
        .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\hihhstr003\data\CC\dat\GMAO\Test_BaseAccess.accdb"
      Rang("A1").CopyFromRecordset .execute(Req)
        .Close
     End With

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

Discussions similaires

  1. Projet Automatiser une Base de donnée sous Excel en VBA
    Par raph_13 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/10/2011, 16h10
  2. Connection à une base de données depuis excell
    Par snooopy007 dans le forum Access
    Réponses: 1
    Dernier message: 14/07/2006, 21h30
  3. [DataBase]Connexion a une base de données.
    Par GETah dans le forum JDBC
    Réponses: 3
    Dernier message: 19/04/2005, 17h47
  4. connexion a une base de donné mysql
    Par ithery75 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/02/2005, 20h57
  5. connexion a une base de donnée distante mysql(site internet)
    Par rollernox dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/07/2004, 13h14

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