Extraire des donnees d'une base ACCESS

Fermé
blaise - 15 sept. 2008 à 16:35
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 15 sept. 2008 à 16:38
Bonjour,

Je sais: - creer une base access ( avec ACCESS ou avec VISUAL BASIC 6 )
Consulter et afficher sur ecran les donnees de cette base.
Mais ce que je n'arrive pas a faire, c'est ecrire le code " Visual Basic", qui me permet d'aller dans une base "ACCESS', en extraire une valeur ( numerique) pour l'utiliser dans la suite d'un calcul.
Je suis un debutant autodidacte de "Visual Basic 6" .
Pouvez vous m'aider?
Merci beaucoup

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
15 sept. 2008 à 16:38
Bonjour,

Voilà de quoi faire déjà pas mal de chose :
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


Bon courage

;o)
1