Programmation ADO

genieinformatique Messages postés 52 Statut Membre -  
genieinformatique Messages postés 52 Statut Membre -
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
Configuration: Windows Vista
Internet Explorer 7.0

2 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  2. genieinformatique Messages postés 52 Statut Membre 6
     
    merci bien c tré detaillé merci bien
    -1