Erreur au connexion d'une bd acces à un VB 6

Résolu
voluntad -  
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
j'ai essyée de connecter une bd access2007 à VB 6.0 j'ai suivi les étapes suivant:
j'ai créer un dataenvirenement -->j'ai déclaré ce code :
----------------------------------------------------------------------------
Private Sub Connection1_InfoMessage(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)

'Déclaration de la variable de connexion
Dim cnx As new ADODB.Connection
'Définition du pilote de connexion
cnx.Provider = "Microsoft.ace.Oledb.12.0"
'Définition de la chaîne de connexion
cnx.ConnectionString = "C:\Documents and Settings\h\Bureau\bd finale.mdb" 'Ouverture de la base de données
cnx.Open

End Sub
---------------------------------------------------------------------------
mais quand j'exécute le code ce message s'affiche :
erreur de compilation:
incorrect à l'extérieur d'une procédure .

--( malgré que j'ai installé le pilote d'office systeme 2007:"Acedatabaseengine.exe")
Configuration: Windows XP Internet Explorer 6.0

aider moi mes amis je suis débutant
cordialement

3 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Es-tu sûr de ça :

    'Déclaration de la variable de connexion
    Dim cnx As new ADODB.Connection

    Je ferai plutôt ça:

    Dim cnx As ADODB.Connection

    Set cnx = New ADODB.Connection

    ...

    ;o)
    0
  2. voluntad
     
    rebonjour Nicolas,
    si je met :

    Dim cnx As ADODB.Connection
    Set cnx = New ADODB.Connection


    au lieu de :

    Dim cnx As new ADODB.Connection le message d'erreur (erreur de compilation:
    incorrect à l'extérieur d'une procédure
    ) que j'ai déjâ indiqué s'affiche ( le mot set est selectionné en bleu ).
    et voilâ la réference de code pour la déclaration de variable de connexion -->https://drq.developpez.com/vb/tutoriels/ADO/Chapitre2/

    -----------------------------------------------------

    le met de :Dim cnx As new ADODB.Connection evite l'affichage de message d'erreur pour set
    mais le probléme reste pour cnx.Provider = "Microsoft.ace.Oledb.12.0"
    0
  3. Polux31 Messages postés 7219 Statut Membre 1 204
     
    le met de :Dim cnx As new ADODB.Connection evite l'affichage de message d'erreur pour set

    Je ne sais pas d'où tu tiens ça !!!

    Voilà ce que je lis:
    "Comment réaliser une connexion ? Tout d'abord il faut déclarer la variable associée à la connexion.

    Dim cnx As New ADODB.Connection 


    ou alors

    Dim cnx As ADODB.Connection
    Set cnx = New ADODB.Connection 
    "

    Voilà ce que j'utilise et qui fonctionne chez moi.
    Option Explicit
    
    Private AdoCnx As ADODB.Connection
    Private rs As Recordset
    Private CmdSql As ADODB.Command
    Private Const BDD = "\bd\bdd.mdb"   'Chemin et Nom de la base de donnée
    
    
    
    'Connexion à la base
    Public Function ConnectBdd()
    Dim CnxString As String
    Dim chemin As String
    
    chemin = App.Path & BDD
    
    Set AdoCnx = New ADODB.Connection
    
    If AdoCnx.State = adStateOpen Then
        MsgBox "La connection est déjà ouverte"
        Exit Function
    End If
    
            '======== Ouverture Access ============'
            
    CnxString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                       "Data Source=" & chemin & ";" & _
                       "Persist Security Info=False"
    
    AdoCnx.Open CnxString
    AdoCnx.CursorLocation = adUseClient
    
    On Error Resume Next
    '    AdoCnx.Open
        If Err <> 0 Or AdoCnx.State = adStateClosed Then
            MsgBox "Connection impossible avec la base"
            Exit Function
        End If
    
    End Function


    ;o)
    0