Connection entre vb 6.0 et une base de donnée

Fermé
chiraz - 3 déc. 2008 à 17:27
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 7 déc. 2008 à 03:23
Bonjour, je fais mnt un mini projet :un vidéotheque et je veux établir une connection entre visuel basic 6.0 et une base de donnée ,pouvez vous m'aidez par un cours ou me donner les étapes à suivre ,je n'ai aucune idée
me répondre très vite svp
A voir également:

2 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
7 déc. 2008 à 03:23
Bonjour,

Voilà un code que j'ai déjà utilisé :
'==========================================='
'                 ADODB                     '
'-------------------------------------------'
'          Module Base de données           '
'                                           '
' Auteur : Polux31 - 2005                   '
' E-mail : ##############                   '
'==========================================='

'///////////////////////////////////////////////////////////////
'// NE PAS OUBLIER DE COCHER DANS PROJET --> REFERENCES ...
'// Microsoft ActiveX Data Objects x.x Library
'///////////////////////////////////////////////////////////////

Option Explicit

'/////////////////////////////////'
'// Variables globales du module
'/////////////////////////////////'
Private AdoCnx As ADODB.Connection
Private rs As Recordset
Private CmdSql As ADODB.Command
Private NbRs As Long

'////////////////////////////////'
'// Constantes à modifier selon le
'// le cas d'utilisation
'///////////////////////////////'
Private Const BDD = "C:\BaseDeDonnees\maBase.mdb"    ' mettre le chemin de la base
Private Const pw = ""                           ' mettre le mot de passe
Private Const user = ""                         ' mettre le user

'//////////////////////////////////////
'// Accesseurs des variables globales
'//////////////////////////////////////

'procédure qui stocke le nombre d'enregistrement dans le recordset
Public Sub setNbRs(ByVal nb As Integer)
    NbRs = nb
End Sub

'fonction qui retourne le nombre d'enregistrement dans le recordset
Public Function getNbRs() As Long
    getNbRs = NbRs
End Function

'fonction qui retourne le recordset
Public Function getRecordset() As ADODB.Recordset
    getRecordset = rs
End Function

'fonction qui retourne la connexion
Public Function getAdoCnx() As ADODB.Connection
    getAdoCnx = AdoCnx
End Function

'fonction qui retourne le chemin de la base de données
Public Function getBdd() As String
    getBdd = BDD
End Function


'//////////////////////////////////
'// Méthodes du module
'//////////////////////////////////

'procédure de connexion à la base de donnée

Public Sub ConnectBdd()
Dim CnxString As String
Dim chemin As String

chemin = App.Path & getBdd      'chemin d'accès à la Bdd

Set AdoCnx = New ADODB.Connection   'création de l'objet connexion

If AdoCnx.State = adStateOpen Then  'si la base est déjà ouverte alors on sort de la procédure
    MsgBox "La connection est déjà ouverte"
    Exit Sub
End If

        '======== Ouverture Access ============'
        '    A modifier pour autres bases      '
        '======================================'
        
CnxString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=" & chemin & ";" & _
                   "user ID=" & user & ";" & _
                   "password=" & pw & ";" & _
                  "Persist Security Info=False"

AdoCnx.Open CnxString   'passage de la chaine de connexion
AdoCnx.CursorLocation = adUseClient

On Error Resume Next

    If Err <> 0 Or AdoCnx.State = adStateClosed Then    'si un erreur de connexion se produit
        MsgBox "Connection impossible avec la base"
        Exit Sub
    End If

End Sub

'fonction qui retourne un booléen.
'Paramètres entrées : la requête, l'objet recordset
'Passe la requête à la base de données et récupère le résultat dans le recordset
Public Function OpenRecordset(ByVal Requete As String, ByRef rs As ADODB.Recordset) As Boolean
    
On Error Resume Next
  
    On Error Resume Next
    rs.Open Requete, ModBdd.AdoCnx, , , adCmdText   'passage de la requête
    
    If Err > 0 Then         'en cas d'erreur la fonction retourne Faux et on sort de la fonction
        OpenRecordset = False
        Exit Function
    End If
    
    rs.MoveFirst        'la connexion a réussi, on se place sur le 1er enregistrement
    NbRs = rs.RecordCount   'on compte le nombre de ligne retournée
    OpenRecordset = True  'la fonction retourne Vrai
    
End Function

'fonctions Suivant, Précédent, Premier, Dernier qui retourne un booléen.
'Paramètre entrée : l'objet recordset
'Fonctions qui permettent de parcourir les enregistrements d'un recordset
Public Function RSLireSuivant(ByRef rs As ADODB.Recordset) As Boolean

    On Error Resume Next
    rs.MoveNext
    If rs.EOF Then
        RSLireSuivant = False
        Exit Function
    End If
    
    If Err <> 0 Then
        RSLireSuivant = False
        Exit Function
    End If
    
    RSLireSuivant = True
    
End Function

Public Function RSLirePrecedent(ByRef rs As ADODB.Recordset) As Boolean

    On Error Resume Next
    rs.MovePrevious
    If rs.BOF Then
        RSLirePrecedent = False
        Exit Function
    End If
    
    If Err <> 0 Then
        RSLirePrecedent = False
        Exit Function
    End If
    
    RSLirePrecedent = True
    
End Function

Public Function RSLirePremier(ByRef rs As ADODB.Recordset) As Boolean

    On Error Resume Next
    rs.MoveFirst
    If Err <> 0 Then
        RSLirePremier = False
        Exit Function
    End If
    
    RSLirePremier = True
    
End Function

Public Function RSLireDernier(ByRef rs As ADODB.Recordset) As Boolean

    On Error Resume Next
    rs.MoveLast
    If Err <> 0 Then
        RSLireDernier = False
        Exit Function
    End If
    
    RSLireDernier = True
    
End Function

'procédure qui ferme la connexion à la base de données
Public Sub CloseBdd()
    AdoCnx.Close
End Sub

'procédure qui ferme le recordset
Public Sub CloseRs()
    rs.Close
End Sub


Bon courage

;o)
2
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
3 déc. 2008 à 19:42
Bonjour,

Peux-tu donner plus de détails concernat ta base de données ? Access, SQL Serveur, MySql etc ...

;o)
0
oui j'utilise access pour la base de donnée
0