Bonjour

Je suis comptable, et depuis une dizaine d’années dans mon cadre professionnel, j’écris et utilise des bases de données ACCESS. Je manipule donc le SQL et VBA.

Pour des raisons stratégiques d’évolution du matériel informatique et des OS partagés entre collègues, je veux à l’avenir piloter les données d’une base ACCESS depuis l’extérieur de la base elle-même. Par exemple, utiliser VB pour accéder aux données d’ACCESS.

Par ailleurs, il est envisagé d’abandonner les produits Microsoft Office au profit d’autres, par exemple Interbase.

Pour l’instant, je me familiarise avec VB dans sa version Visual Basiv 2008 Express B 9.0.30729.1 SP.
Et je fais « mes armes » à partir des cours disponibles sur le site Develppez.com et des exercices de tests.

Aujourd’hui deux questions se posent à moi. Je les aborde dans deux messages différents pour en simplifier le traitement.

Second message :

J’ai décidé pour mon apprentissage de faire des tests. L’un des premiers consiste à utiliser une base de données, de me connecter à celle-ci et d’en manipuler les enregistrements déjà existants.

La base de données est une base ACCESS en registrée dans le répertoire même de mon projet : Base_Donnees.mdb

La table s’appelle : TADHERENTS

Les 3 champs sont :
Prénom Texte
NomFamille Texte
idA Numéro indenté automatiquement

Le projet consiste à déclencher une procédure nommée TestSecondAfficheContenuTable_1
d’afficher dans le label Label1.Text le résultat de la requête suivante :
pour Prénom= "Marcel" et Ida=1 donner NomFamille.

J’ai donc écrit ce qui suit dans un module avec :

En en-tête

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
'Déclaretions des espaces système
Imports System
Imports System.Data
Imports System.Data.Linq
Imports System.Data.OleDb
Puis

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Module ModuleEssai1
    Sub TestSecondAfficheContenuTable_1()
        'Récupérer dans la table Adhérents de la base Base_Donnee.mdb les données
        'puis les afficher dans le label1 du formulaire Form1
        'Creation de l'objet connection
        Dim Connection As New OleDb.OleDbConnection()
        'Parametrage de la chaine de connection
        Connection.ConnectionString = "provider=microsoft.jet.oledb.4.0;" _
        & "data source= " & Application.StartupPath & "\" & Base_Donnee.mdb;
        'Déclaration du DataSet
        Dim DtSet As New DataSet()
        'Declare le DataAdapter et selectionne tout les champs de la table Base_Donnee
        Dim AdapTContact As New OleDb.OleDbDataAdapter("select * from Base_Donnee", Connection)
        ' Remplissage du dataset
        AdapTContact.Fill(DtSet, "Base_Donnee")
        'Affectation des données recherchées à la variable requête
        Dim requête = From TADHERENTS In Base_DonneeDataSet.TADHERENTS.AsEnumerable() _
        Where (TADHERENTS.Prénom = "Marcel" And TADHERENTS.idA = 1) _
        Select TADHERENTS.NomFamille
        'Affichage du résultat dans le formulaire Form1
        My.Forms.Form1.Label1.Text = requête
    End Sub
End Module
A l’exécution de la procédure, un message d’erreur est généré pour la donnée Base_DonneeDataSet :
le nom ‘Base_DonneeDataSet’ n’est pas déclaré.

Pourriez-vous m’éclairer sur les raisons de cet incident et m’indiquer le remède à y apporter ?

Je vous remercie infiniment pour votre réponse.

Cordialement

BG