Connexion a acces impossible [VB 6]

Fermé
Claire - 17 janv. 2010 à 04:29
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 17 janv. 2010 à 10:48
Salut je veux faire une application sous Visual basic 6 qui se connecte à acces,
Mais sa ne fonctionne pas
de ce que j'ai trouvé sur le net j'ai pu faire :

Public cnx As New ADODB.Connection
Public rst As New ADODB.Recordset

Private Sub Command1_Click()



Dim cmd As New ADODB.Command
cmd.CommandText = "select * from personne"
Form1.rst = cmd.Execute
Print "    Code Etudiant : " & Form1.rst(0)
End Sub

Private Sub Form1_Load()

'Définition du pilote de connexion
cnx.Provider = "Microsoft.Jet.Oledb.4"
'Définition de la chaîne de connexion
cnx.ConnectionString = "C:\Users\Claire\Documents\Base.mdb"
'Ouverture de la base de données
cnx.Open

End Sub




Mais sa ne marche pas,
je veux séléctionner qu'un enregistrement pour etre sur que la connexion est bien établie.
en attente de votr aide

1 réponse

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
17 janv. 2010 à 10:48
Bonjour,

Voilà ce que j'utilise pour me connecteer à Access avec VB6 :

'ModuleBdd

Private AdoCnx As ADODB.Connection
Private rs As ADODB.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

'Ouverture et passage de la requête vers la base
Public Function OpenRecordset(ByVal Requete As String, ByRef rs As ADODB.Recordset) As Boolean
  
    connectBdd
    On Error Resume Next
    rs.Open Requete, ModBdd.AdoCnx, , , adCmdText
    
    If Err > 0 Then
        OpenRecordset = False
        Exit Function
    End If
    
    rs.MoveFirst
    OpenRecordset = True
    
End Function


Exemple :

'ModuleQuery

Public Sub SearchItemByID(ByVal Ident As Long)
Dim rst As ADODB.Recordset
Dim query As String

   On Error Resume Next
   Query = "SELECT NOM FROM ETUDIANTS WHERE ID = " & Ident
   Set rst = New ADODB.Recordset

   If ModuleBdd.OpenRecordset(query, rst) = False Then
      MsgBox "La requête n'a pas abouti...", VBExclamation, "Erreur Bdd"
      Exit Sub
   End If

   MsgBox rst.Fields(0)
   rst.Close
   Set rst = Nothing

End Sub



;o)
0