-
table enfant - écriture
bonjour,
dslé pour ce 2e poste, j'arrivais pas à déplacer le précédent.
J'ai une base de données access (mdb) avec à l'intérieur une table parent et une table enfant. Sous vs2005 j'ai défini la relation en cascade sur le champ "N°" commun aux deux tables. Il y a une clé primaire sur ces deux champs et ils sont autonumérotés.
J'aimerais savoir comment ajouter par le code (qd on tape dans la datagrid ça marche) une ligne dans la table enfant une fois l'enregistrement créé ?
Car pour l'instant lorsque j'ajoute par la méthode addmatablerow ça renvoit une erreur ! mais lorsque je saisi directement dans le datagrid il n'y a pas de problème !
help
-
Bonjour,
Quel est ton message d'erreur, au juste?
quel est ta méthode pour entrer tes données?
Si tu n'en dis pas plus, c'est difficile de t'orienter :oops:
-
Voici la méthode qui remplit ma table parent "INDIVIDUS" avec les champs nom, prénom, lieu d'affectation, fonction et matricule, j'utilise addrow et j'update la table "INDIVIDUS". Il y a un champ "N°" qui contientla clé primaire et qui auto incrémenté.
Private Sub ajouter_indiv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ajouter_indiv.Click
Fiches_tpsDataSet.individus.AddindividusRow(nom_in.Text, prenom_in.Text, CDate(date_in.Text), lieu_in.Text, fonction_in.Text, matricule_in.Text)
IndividusTableAdapter.Update(Me.Fiches_tpsDataSet.individus)
End Sub
J'ai une table enfant "TEMPS" (liée à la précédente) par une relation "relation et contrainte de clé étrangère" avec les options définies en "cascade" et relation imbriquée. Donc à un enregistrement de la table INDIVIDUS correspond un enregistrement de la table enfant TEMPS. Cette table "TEMPS" contient elle aussi un champ "N°" clé primaire autoincrémenté et relié par la relation précitée à la table parent INDIVIDUS. (j'espère que c'est clair...)
Mon problème c'est pour remplir la table enfant.Via le datagrid je peux entrer les valeur de l'enregistrement sans problème mais je n'y parviens pas en utilisant du code (je veux que l'utilisateur entre les valeurs via des textbox). J'utilise ceci comme code sur le bouton qui ajoute les lignes à la table enfant :
'mettre "12" dans le champ "XX"Me.monDataSet.TEMPS.AddEXTENSIONRow("12")
Je n'ai mis qu'un champ "XX" en plus du champ autonuméroté "N°" dans la table "TEMPS" et ça me renvoie cela :
"ForeignKeyConstraint INDIVIDUSTEMPS requires the child key values (1) to exist in the parent table."
comment dois-je m'y prendre pour pouvoir entrer une valeur ds la table enfant ? (sachant que la row père est crée juste avant)