Bonjour a tous
Je galère depuis un moment pour mettre a jour ma base de données.
J'explique:
une table "facture" (coté 1) et une table "ligne" (coté plusieurs)
je rapatrie les deux dans un dataset et y ajoute des lignes:
Une fois les lignes ajoutées au dataset, je vérifie avec 2 datagrid view que les modifications ont bien été ajoutées:
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 With ds.Tables("FAC") Dim drFac As DataRow = .NewRow drFac("fac_reference") = Left(strRef, 4) & Format((Right(strRef, 6) + j), "000") drFac("fac_du") = DateAdd("d", 1, dtDerFac) ' je passe tout le code....... .Rows.Add(drFac) lgFacId = drFac("fac_id") 'je recupere tout de suite le nouvel id crée End With With ds.Tables("LIGNE") Dim drLig As DataRow = .NewRow drLig("lig_lien_facture") = lgFacId drLig("Lig_libellé") = "Loyer" drLig("lig_montant") = decMontantLoyer .Rows.Add(drLig) End With
Je vois bien les lignes crées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MainForm.dgv2.DataSource = ds.Tables("FAC") MainForm.dgv1.DataSource = ds.Tables("LIGNE")
Mais dés que je veux faire la mise a jour vers la table:
La mise a jour de la table "facture" (coté 1) s'effectue bien, je recoit un message d'erreur pour la table "ligne"(coté plusieurs):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Dim CB As New OleDbCommandBuilder(daFac) Dim CB1 As New OleDbCommandBuilder(daLigne) cnn.Open() daFac.Update(ds.Tables("FAC").GetChanges(DataRowState.Added)) daLigne.Update(ds.Tables("LIGNE").GetChanges(DataRowState.Added)) cnn.Close()
Je comprend bien l'erreur mais apres vérification, la table "facture"a été mise à jour ,tous les champs sont bien renseignés, mais on dirait qu'il ne le "voit pas".Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table « FACTURE ».
Pourriez vous me dire ou est l'erreur?
Partager