Class vb pour table access

Description

Cette class VB, vous permettra de manipuler une base de données Access (ou autre si vous changez quelques trucs) assez facilement, toutes les actions courantes y sont. Je généraliserais bientôt cette Class afin de pouvoir l'adapter à toutes les tables sans avoir à créer une Class spécifique pour cette table.

Source / Exemple :


Public Sub Ajouter(rs As ADODB.Recordset, cn As ADODB.Connection, Frm As Form, Tbl As String, ParamArray NomChamp() As Variant)
    Dim i, compt As Integer
    rs.Open Tbl, cn, 1, 2
        rs.AddNew
        i = rs.Fields.Count 'Compte le nombre de lignes
        For compt = 0 To i - 1
            'Les noms des champs du formulaire doivent avoir le mm nom que les colonnes de la table
            rs.Fields(NomChamp(compt)) = Frm(NomChamp(compt)).Text
        Next compt
        rs.Update
    rs.Close
End Sub
'Remplissage de ComboBox uniquement ceux créés avec Microsoft Form 2.0
 Public Sub Lister(Frm As Form, Ctl As String, rs As ADODB.Recordset, Conn As ADODB.Connection, sql As String, ParamArray parametre() As Variant)
    Dim compt, compt2 As Integer
    'Ouvre la requête
    rs.Open sql, Conn, adOpenStatic, adLockOptimistic
    Frm(Ctl).Clear 'Efface la liste
    compt = 0
    While rs.EOF = False
        Frm(Ctl).AddItem rs.Fields(parametre(0))
        For compt2 = 1 To UBound(parametre)
            If Not IsNull(parametre(compt2)) Then Frm(Ctl).Column(1, compt) = rs.Fields(parametre(compt2))
        Next compt2
        rs.MoveNext
        compt = compt + 1
    Wend
    rs.Close
End Sub

Public Sub MODIFIER(rs As ADODB.Recordset, cn As ADODB.Connection, sql As String, Frm As Form, ParamArray NomChamp() As Variant)
    Dim i, compt As Integer
    rs.Open sql, cn, 1, 2
        i = rs.Fields.Count
        For compt = 0 To i - 1
            rs.Fields(NomChamp(compt)) = Frm(NomChamp(compt)).Text
        Next compt
        rs.Update
    rs.Close
End Sub

Public Sub Supprimer(rs As ADODB.Recordset, cn As ADODB.Connection, sql As String)
    rs.Open sql, cn, 1, 2
        rs.Delete
        rs.Update
    rs.Close
End Sub

Conclusion :


J'espère que ça aidera certains, et que vous me laisserez des commentaires et/ou une note.
Merci ^^

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.