Bonjour,
J'ai une application avec une base access contenant deux tables (pour simplifier)
TblVehicule (Id, Immatriculation, .... Id_TblMarque)
TblMarque (Id, Marque)
Au chargement de mon formulaire, je charge les deux tables dans un DataSet déclaré en Private du formulaire.
Dans le formulaire, j'ai un DataGridView dans lequel j'affiche la table TblVehicule.
Seulement la colonne ID_TblMarque affiche une valeur numérique et non la marque corrspondante. Jusque là je comprend l'erreur.
J'ai donc recherché du côté des DataRelations et j'ai créé une relation ParentEnfant.
(J'ai développé mon application avec une architecture 3 couches (Sa m'a pris du temps, mais c'est rudement appréciable !!).
ClMarque est ma classe représentant les Marques,
ClVehicule est ma classe représentant les Vehicules, ....
Cette partie fonctionne bien, les tables sont chargées correctement, les noms des colonnes sont repris ....
dans la table TblVehicule, la colonne Id_TblMarque,de la table de la base Access, est renommé Marque)
Le code créant la relation
Code vb.net : 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
24
25
26 Private Sub TestRelationTable() ' Ajout de la table Vehicule ' Table chargée au chargement du formulaire ' Existe bien dans le DataSet ' Ajout de la table Marque clMarque.ChargerTs(objDataSet) ' Réalisation de la relation Dim ColParentMarque As DataColumn ColParentMarque = objDataSet.Tables("TblMarque").Columns("ID_Marque") Dim ColEnfantVehicule As DataColumn ' "Marque" représente Id_TblMarque, colonne renommée ColEnfantVehicule = objDataSet.Tables("TblVehicule").Columns("Marque") Dim RelationParentEnfant As DataRelation RelationParentEnfant = New DataRelation("relMarqueVehicule", ColParentMarque, ColEnfantVehicule) objDataSet.Relations.Add(RelationParentEnfant) Me.dgvVehicule.DataSource = objDataSet.Tables("TblVehicule") End Sub
Après l'exécution du code la colonne Marque contient toujours les valeurs numériques....![]()
D'ou vient le problème ?
Merci du coup de main
Gwendal
Partager