Il est de bon ton de se souhaiter la bonne année. Mais vous, et vous seul, pourrez faire en sorte que cette année soit bonne, meilleure que celle qui vient de s'écouler. Apprenez à ne compter que sur vous, car personne n'est plus qualifié que vous-même pour bâtir, réparer ou améliorer votre propre vie. Personne ne fera les choses à votre place. D'ailleurs, tout ce que les autres peuvent faire, c'est souhaiter que vous le fassiez. Et ne croyez pas que tout ceux qui vous entourent vous apporteront des solutions : certains font juste partie de vos problèmes. Transformez vos résolutions en actes, et dans douze mois, retournez-vous et souriez-vous fièrement : C'était long. C'était difficile. Mais ça y est : 2017 était une bonne année, merci Moi.

VBAInteractionAccess

Accès à un .MDB, via DAO

Il est possible d'accéder à des données externes depuis Excel. L'exemple suivant ouvre ba base de données D:\atelier\Source.MDB, la table T_Client, et recherche d'un enregistrement au sein de cette table

ATTENTION : Pour pouvoir utiliser les instructions DAO au sein d'Excel, il faut faire Outils/Réréfences et cocher la case "Microsoft DAO 3.5 Object Library", sinon, on n'aura pas accès à des instructions comme RecordSet, ou OpenDataBase, et une erreur de compilation se produira.

Dim BaseSource As Database

Dim TableClient As Recordset

Set BaseSource = DBEngine.Workspaces(0).OpenDatabase("d:\atelier\Source.mdb")

Set TableClient = BaseSource.OpenRecordset("T_Client", dbOpenDynaset)

TableClient.FindFirst ("NomClient = 'Kunn'")

MsgBox TableClient("Prenom")

TableClient.Close

BaseSource.Close

Set BaseSource = Nothing

Set TableClient = Nothing

Importation manuelle d'une colonne de données Access 97

Global BDDExemple As Database

Global TBLClient As Recordset

Sub ImportationExempleMDB()

OuvertureBase

TBLClient.MoveFirst

Range("A1").Select

While Not TBLClient.EOF

ActiveCell = TBLClient("NomClient")

TBLClient.MoveNext

ActiveCell.Offset(1, 0).Range("A1").Select

Wend

' Range("A2").Value = "Test"

FermetureBase

End Sub

Sub OuvertureBase()

Set BDDExemple = DBEngine.Workspaces(0).OpenDatabase("d:\atelier\Exemple.mdb")

Set TBLClient = BDDExemple.OpenRecordset("T_Client", dbOpenDynaset)

End Sub

Sub FermetureBase()

TBLClient.Close

BDDExemple.Close

Set BDDExemple = Nothing

Set TBLClient = Nothing

End Sub