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 ^^
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.