Bonjour,
j'ai 2 grilles avec une qui est maître, l'autre qui est détail.
je génère un dataset avec 2 data tables (ok)
je génère une relation et j'affecte les datasource et les datamember (ok)

voici le code simplifié :
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
Dim Sql1 As String = "SELECT * from T1"
Dim Sql2 As String = "Select * from T2"
 
        Dim cn As New SqlConnection("Server=MonServeur;uid=sa;pwd=***;Database=MB")
        daCust = New SqlDataAdapter(Sql1, cn)
        Dim daEmp As New SqlDataAdapter(sql2, cn)
 
        ds = New DataSet
        daCust.Fill(ds, "Taux")
        daEmp.Fill(ds, "Decompo")
 
        DataGrid1.DataSource = ds
        DataGrid1.DataMember = "Taux"
 
ds.Relations.Add("R_1_2", _
            ds.Tables("Taux").Columns("T1_ID"), _
            ds.Tables("Decompo").Columns("T2_ID"))
 
 
        DataGrid2.DataSource = ds
        DataGrid2.DataMember = "Taux.R_1_2"
jusque la tout va bien (les ds et le dataadapter dacust sont déclaré comme variables globales)

maintenant sur l'évenement click d'un bouton, je veux sauvegarder le ds

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 Dim CmdBuild As SqlCommandBuilder
        CmdBuild = New SqlCommandBuilder(dacust)
 
        dacust.DeleteCommand = CmdBuild.GetDeleteCommand()
 
        If ds.HasChanges(DataRowState.Modified) Then
                          dacust.Update(ds, "Taux")
        End If
j'ai une erreur sur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 dacust.DeleteCommand = CmdBuild.GetDeleteCommand()
qui est
la génération SQL dynamique n'est pas prise en charge pour plusieurs tables de base
je ne peux pas mettre à jour un ds avec plusieurs datatable
comment doit je faire ?

Merci pour vos réponses !