OVH Cloud OVH Cloud

SQL Server 2000 -

2 réponses
Avatar
Romuald
Je développe une application en VB.Net 2003.

J'ai une table "Table1" avec un champs "NumEnr" qui est compteur auto.
J'ai une autre table "Table2" avec un champs "NumEnr", "NomPrenom".....

J'ai relié "Table1.NumEnr" avec "Table2.NumEnr". Cette liaison sert par
exemple à insérer plusieurs enregistrements dans "Table2.NumEnr" et un seul
dans "Table1.NumEnr", c'est à dire une relation un à plusieurs....

Ma question est :
- Comment je peux faire pour insérer un nouvel enregistrement dans
"Table1.NumEnr" et plusieurs enregistrements dans "Table2.NumEnr" mais que le
champs "NumEnr" des 2 tables soient identiques ?
- Comment je peux aussi gérer "Update", "Delete" ?

J'espère que ma question est assez claire !!!!

2 réponses

Avatar
Med Bouchenafa
Il y a plusieurs possiblités...
Voici une méthode générique et très simple.
Tu crées NumEnr de la seconde table avec le même type que NumEnr de la
première table
Tu ne le mets pas en IDENTITY dans la seconde table.
Alors qu'il est IDENTITY et PRIMARY KEY pour la première table.

Tu crées une relation de clef étrangère entre les deux colonnes des deux
tables.
Tu as la possiblité, lors de cette creation, de dire aux opérations
d'UPDATE et de DELETE de se répercuter automatiquement.

Pour les opérations d'insertions, il te suffit de récuperer la valeur
insérée automatiquement dans la table1 (@@IDENTITY) et de l'insérer
manuellement dans la table2
Regarde dans l'Aide En Ligne
@@IDENTITY
IDENT_CURRENT('table_name')

--
Avec mes meilleurs voeux 2006
Med Bouchenafa

"Romuald" a écrit dans le message de
news:
Je développe une application en VB.Net 2003.

J'ai une table "Table1" avec un champs "NumEnr" qui est compteur auto.
J'ai une autre table "Table2" avec un champs "NumEnr", "NomPrenom".....

J'ai relié "Table1.NumEnr" avec "Table2.NumEnr". Cette liaison sert par
exemple à insérer plusieurs enregistrements dans "Table2.NumEnr" et un
seul
dans "Table1.NumEnr", c'est à dire une relation un à plusieurs....

Ma question est :
- Comment je peux faire pour insérer un nouvel enregistrement dans
"Table1.NumEnr" et plusieurs enregistrements dans "Table2.NumEnr" mais que
le
champs "NumEnr" des 2 tables soient identiques ?
- Comment je peux aussi gérer "Update", "Delete" ?

J'espère que ma question est assez claire !!!


Avatar
Romuald
Bonjour,

Merci beaucoup de ces conseils, que j'ai suivi..

et ça fonctionne très bien.

"Med Bouchenafa" a écrit :

Il y a plusieurs possiblités...
Voici une méthode générique et très simple.
Tu crées NumEnr de la seconde table avec le même type que NumEnr de la
première table
Tu ne le mets pas en IDENTITY dans la seconde table.
Alors qu'il est IDENTITY et PRIMARY KEY pour la première table.

Tu crées une relation de clef étrangère entre les deux colonnes des deux
tables.
Tu as la possiblité, lors de cette creation, de dire aux opérations
d'UPDATE et de DELETE de se répercuter automatiquement.

Pour les opérations d'insertions, il te suffit de récuperer la valeur
insérée automatiquement dans la table1 (@@IDENTITY) et de l'insérer
manuellement dans la table2
Regarde dans l'Aide En Ligne
@@IDENTITY
IDENT_CURRENT('table_name')

--
Avec mes meilleurs voeux 2006
Med Bouchenafa

"Romuald" a écrit dans le message de
news:
> Je développe une application en VB.Net 2003.
>
> J'ai une table "Table1" avec un champs "NumEnr" qui est compteur auto.
> J'ai une autre table "Table2" avec un champs "NumEnr", "NomPrenom".....
>
> J'ai relié "Table1.NumEnr" avec "Table2.NumEnr". Cette liaison sert par
> exemple à insérer plusieurs enregistrements dans "Table2.NumEnr" et un
> seul
> dans "Table1.NumEnr", c'est à dire une relation un à plusieurs....
>
> Ma question est :
> - Comment je peux faire pour insérer un nouvel enregistrement dans
> "Table1.NumEnr" et plusieurs enregistrements dans "Table2.NumEnr" mais que
> le
> champs "NumEnr" des 2 tables soient identiques ?
> - Comment je peux aussi gérer "Update", "Delete" ?
>
> J'espère que ma question est assez claire !!!