Programmation ADO

Fermé
genieinformatique Messages postés 40 Date d'inscription samedi 29 décembre 2007 Statut Membre Dernière intervention 26 août 2011 - 4 sept. 2008 à 13:23
genieinformatique Messages postés 40 Date d'inscription samedi 29 décembre 2007 Statut Membre Dernière intervention 26 août 2011 - 4 sept. 2008 à 14:15
Bonjour,
coucou je chui etudiante en 2 annee filiere informatique et je vx connaitre qq chose a propos de programmation ADO si c possible ke qq maider a comprendre ca
merci davance

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 sept. 2008 à 13:58
salut génie (?...) informatique

Ces 3 articles tirés du MSDN pourraient éclairer ta lanterne:

OLEDB:
http://msdn.microsoft.com/fr-fr/library/bb469883.aspx


ODBC
http://msdn.microsoft.com/fr-fr/library/bb469866.aspx

ADO
https://docs.microsoft.com/fr-fr/sql/integration-services/connection-manager/ado-connection-manager?redirectedfrom=MSDN&view=sql-server-ver15

et aussi pour construire des tables ou extraire les méta données d'une database:
ADOX
https://support.microsoft.com/fr-fr/help/303814


pour se connecter à une database tu as ce site qui donne les scripts de connection:
https://www.connectionstrings.com/


Ci dessous exemple d'utilisation ADO et ADOX pour connaitre dans Excel la structure d'une base Access

'Option Explicit
' d'après ...\Program Files\Microsoft Office\Office\Samples
Dim T_xxx
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim cat As ADOX.Catalog
Dim fld As ADODB.Field

    Sub schematiser_base()
        Dim chemin As String, fichier As String
        
        'effacement de la zone dictionnaire
        Range("A4:D100").Clear 'adapter la surface suivant base
        
       ' Création de l'objet Connexion
        chemin = ThisWorkbook.Path
        fichier = chemin & "\" & nomdetabase.mdb
        Set conn = New ADODB.Connection
        With conn
            ' Définition du fournisseur OleDB pour la connexion
            .Provider = "Microsoft.JET.OLEDB.4.0"
            ' Ouverture d'une connexion vers la base
            .Open fichier
        End With
        
        Set cat = New ADOX.Catalog
        Set cat.ActiveConnection = conn
        ' énumère les tables de la base commencant par "T_"
                For Each T_xxx In cat.Tables
            If Left(T_xxx.Name, 2) = "T_" Then
                lister_champs
            End If
        Next
        conn.Close
    End Sub

                           
    Sub lister_champs()
    
    lig = Range("B100").End(xlUp).Row + 2
    With Cells(lig, 1)
        .Value = T_xxx.Name
        .Font.Bold = True
    End With
        
    Set rst = New ADODB.Recordset
        With rst
            .ActiveConnection = conn
            .Open "SELECT * FROM " & T_xxx.Name & ""
        End With
        
        For Each fld In rst.Fields
            Cells(lig, 2) = fld.Name
            Cells(lig, 3) = dire(fld.Type)
            Cells(lig, 4) = fld.DefinedSize
            lig = lig + 1
        Next fld
      
    Set rst = Nothing
        
    End Sub

Function dire(num As Long) As String
Select Case num
    ' Il existe 39 types; les + utilisés:
    Case 3
    dire = "Entier long"
    Case 4
    dire = "réel simple"
    Case 5
    dire = "Réel double"
    Case 6
    dire = "monétaire 4 après virgule"
    Case 7
    dire = "date"
    Case 11
    dire = "booléen"
    Case 202
    dire = "texte type access"
    Case 203
    dire = " texte type mémo"
End Select
End Function
-1
genieinformatique Messages postés 40 Date d'inscription samedi 29 décembre 2007 Statut Membre Dernière intervention 26 août 2011 6
4 sept. 2008 à 14:15
merci bien c tré detaillé merci bien
-1