Ado et table access liées

Résolu
kLuxiWare Messages postés 17 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 septembre 2005 - 24 nov. 2004 à 21:06
kLuxiWare Messages postés 17 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 septembre 2005 - 26 nov. 2004 à 17:54
Un problème sur lequel je ne trouve pas de solution dans l'aide ou dans les codes sources.

Lorsque l'on a, deux tables access liées, comment ajouter un enregistrement en même temps, dans les deux tables par la méthode Addnew en Ado.

Une explication ou un petit bout de code serait sympa.

Merci de votre aide

2 réponses

arystoc Messages postés 41 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 juillet 2006
26 nov. 2004 à 11:36
Salut kLuxiWare,

Alors ce que moi je fais habituellement, c'est d'avoir une procédure d'insertion par table. Je déclare une variable globale dans la procédure pour la cle primaire de la table A et qui est une clé secondaire dans la table B.

J'ouvre une transaction
Dans un premier temps j'appelle la proc d'ajout de la table A, je récupère la clé de l'enregistrement qui vient d'être fait et j'appelle la proc d'ajout dans la table B
Si tout se passe bien je valide ma transaction si non je l'annule.

J'espère que vous avez compris mon explication.
3
kLuxiWare Messages postés 17 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 septembre 2005
26 nov. 2004 à 17:54
Merci ARYSTOC pour ta réponse

Je ne sais pas si j'ai bien compris mais il me semble que ta solution oblige à utiliser deux jeux d'enregistrements.

Dans mon cas j'utilise un seul recordset dont voici le sql
(sQLStr "SELECT bien.* FROM bien LEFT JOIN prospect ON bien.nbien prospect.nbien "
sQLStr = sQLStr & "ORDER BY prospect.lnom")

J'ouvre ensuite le jeux d'enregistrements pour remplir des textbox relatifs aux deux tables.

Pour la visualisation et la modification tout est OK, le problème est lors de la création par la méthode addnew où il y a création dans la table "bien" mais pas dans celle "prospect".

J'avoue qu'un exemple serait plus facile à comprendre.

Salutations
0
Rejoignez-nous