Bonjour

Actuellement, je remplit les DataTables de mon DataSet via la méthode .Fill() des Table Adapters associés à la connection vers une BDD Access.
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
24
25
26
27
28
29
30
31
32
33
34
        Me.FoodTableAdapter.Fill(Me.DataSet.Food)
        Me.WeaponTableAdapter.Fill(Me.DataSet.Weapon)
        Me.AmmoTableAdapter.Fill(Me.DataSet.Ammo)
        Me.RangedTableAdapter.Fill(Me.DataSet.Ranged)
        Me.HeadTableAdapter.Fill(Me.DataSet.Head)
        Me.HP_ScalingTableAdapter.Fill(Me.DataSet.HP_Scaling)
        Me.NeckTableAdapter.Fill(Me.DataSet.Neck)
        Me.HandsTableAdapter.Fill(Me.DataSet.Hands)
        Me.BodyTableAdapter.Fill(Me.DataSet.Body)
        Me.RingTableAdapter.Fill(Me.DataSet.Ring)
        Me.EarTableAdapter.Fill(Me.DataSet.Ear)
        Me.WaistTableAdapter.Fill(Me.DataSet.Waist)
        Me.BackTableAdapter.Fill(Me.DataSet.Back)
        Me.LegsTableAdapter.Fill(Me.DataSet.Legs)
        Me.FeetTableAdapter.Fill(Me.DataSet.Feet)
        Me.Damage_TypesTableAdapter.Fill(Me.DataSet.Damage_Types)
        Me.Skills_ListTableAdapter.Fill(Me.DataSet.Skills_List)
        Me.Jobs_ListTableAdapter.Fill(Me.DataSet.Jobs_List)
        Me.BLU_SpellsTableAdapter.Fill(Me.DataSet.BLU_Spells)
        Me.BLU_Job_TraitsTableAdapter.Fill(Me.DataSet.BLU_Job_Traits)
        Me.AreasTableAdapter.Fill(Me.DataSet.Areas)
        Me.EnemiesTableAdapter.Fill(Me.DataSet.Enemies)
        Me.BuffsTableAdapter.Fill(Me.DataSet.Buffs)
        Me.EnfeebsTableAdapter.Fill(Me.DataSet.Enfeebs)
        Me.Job_AbilitiesTableAdapter.Fill(Me.DataSet.Job_Abilities)
        Me.Job_StatSkill_GradesTableAdapter.Fill(Me.DataSet.Job_StatSkill_Grades)
        Me.Job_TraitsTableAdapter.Fill(Me.DataSet.Job_Traits)
        Me.Mob_DataTableAdapter.Fill(Me.DataSet.Mob_Data)
        Me.Race_Stat_GradesTableAdapter.Fill(Me.DataSet.Race_Stat_Grades)
        Me.Skill_CapsTableAdapter.Fill(Me.DataSet.Skill_Caps)
        Me.Stat_ScalingTableAdapter.Fill(Me.DataSet.Stat_Scaling)
        Me.Stats_ListTableAdapter.Fill(Me.DataSet.Stats_List)
        Me.WS_AvailabilityTableAdapter.Fill(Me.DataSet.WS_Availability)
        Me.WS_TableTableAdapter.Fill(Me.DataSet.WS_Table)
Comme on le voit ce code est bien répétitif... J'essaie donc de réduire toutes ces lignes en une seule boucle dans le genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
   For Each dt As DataTable In Me.DataSet.Tables
        For Each ta In DataSetTableAdapters ' cet espace de noms contient exactement tous les noms de mes TableAdapters, mais ne peut pas être utilisé après "In"...
             If Replace(ta.ToString, "TableAdapter", "") = dt.ToString Then
                 ta.Fill(dt)
             End If
        Next
   Next
...mais je n'y arrive pas.

ou encore dans le sens inverse du code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
        If Me.DataSet.HasChanges Then
            'Appliquer les changements dans la base de données
            Me.TableAdapterManager.UpdateAll(Me.DataSet)
        End If
Malheureusement la méthode .FillAll() n'existe pas...

Quelqu'un saurait-il la bonne syntaxe à employer ? Merci.